1
0
mirror of synced 2024-11-24 22:30:10 +01:00

Merge remote-tracking branch 'origin/develop' into fork_develop

This commit is contained in:
Dniel97 2023-07-08 17:38:41 +02:00
commit 36d338e618
No known key found for this signature in database
GPG Key ID: 6180B3C768FB2E08
66 changed files with 5184 additions and 596 deletions

View File

@ -1,4 +1,4 @@
from typing import Dict, List, Any, Optional, Tuple from typing import Dict, List, Any, Optional, Tuple, Union
import logging, coloredlogs import logging, coloredlogs
from logging.handlers import TimedRotatingFileHandler from logging.handlers import TimedRotatingFileHandler
from twisted.web.http import Request from twisted.web.http import Request
@ -11,6 +11,7 @@ from Crypto.Hash import SHA
from Crypto.Signature import PKCS1_v1_5 from Crypto.Signature import PKCS1_v1_5
from time import strptime from time import strptime
from os import path from os import path
import urllib.parse
from core.config import CoreConfig from core.config import CoreConfig
from core.utils import Utils from core.utils import Utils
@ -79,7 +80,7 @@ class AllnetServlet:
req = AllnetPowerOnRequest(req_dict[0]) req = AllnetPowerOnRequest(req_dict[0])
# Validate the request. Currently we only validate the fields we plan on using # Validate the request. Currently we only validate the fields we plan on using
if not req.game_id or not req.ver or not req.serial or not req.ip: if not req.game_id or not req.ver or not req.serial or not req.ip or not req.firm_ver or not req.boot_ver:
raise AllnetRequestException( raise AllnetRequestException(
f"Bad auth request params from {request_ip} - {vars(req)}" f"Bad auth request params from {request_ip} - {vars(req)}"
) )
@ -89,10 +90,12 @@ class AllnetServlet:
self.logger.error(e) self.logger.error(e)
return b"" return b""
if req.format_ver == "3": if req.format_ver == 3:
resp = AllnetPowerOnResponse3(req.token) resp = AllnetPowerOnResponse3(req.token)
else: elif req.format_ver == 2:
resp = AllnetPowerOnResponse2() resp = AllnetPowerOnResponse2()
else:
resp = AllnetPowerOnResponse()
self.logger.debug(f"Allnet request: {vars(req)}") self.logger.debug(f"Allnet request: {vars(req)}")
if req.game_id not in self.uri_registry: if req.game_id not in self.uri_registry:
@ -103,8 +106,9 @@ class AllnetServlet:
) )
self.logger.warn(msg) self.logger.warn(msg)
resp.stat = 0 resp.stat = -1
return self.dict_to_http_form_string([vars(resp)]) resp_dict = {k: v for k, v in vars(resp).items() if v is not None}
return (urllib.parse.unquote(urllib.parse.urlencode(resp_dict)) + "\n").encode("utf-8")
else: else:
self.logger.info( self.logger.info(
@ -113,8 +117,11 @@ class AllnetServlet:
resp.uri = f"http://{self.config.title.hostname}:{self.config.title.port}/{req.game_id}/{req.ver.replace('.', '')}/" resp.uri = f"http://{self.config.title.hostname}:{self.config.title.port}/{req.game_id}/{req.ver.replace('.', '')}/"
resp.host = f"{self.config.title.hostname}:{self.config.title.port}" resp.host = f"{self.config.title.hostname}:{self.config.title.port}"
self.logger.debug(f"Allnet response: {vars(resp)}") resp_dict = {k: v for k, v in vars(resp).items() if v is not None}
return self.dict_to_http_form_string([vars(resp)]) resp_str = urllib.parse.unquote(urllib.parse.urlencode(resp_dict))
self.logger.debug(f"Allnet response: {resp_str}")
return (resp_str + "\n").encode("utf-8")
resp.uri, resp.host = self.uri_registry[req.game_id] resp.uri, resp.host = self.uri_registry[req.game_id]
@ -126,8 +133,9 @@ class AllnetServlet:
) )
self.logger.warn(msg) self.logger.warn(msg)
resp.stat = 0 resp.stat = -2
return self.dict_to_http_form_string([vars(resp)]) resp_dict = {k: v for k, v in vars(resp).items() if v is not None}
return (urllib.parse.unquote(urllib.parse.urlencode(resp_dict)) + "\n").encode("utf-8")
if machine is not None: if machine is not None:
arcade = self.data.arcade.get_arcade(machine["arcade"]) arcade = self.data.arcade.get_arcade(machine["arcade"])
@ -169,9 +177,13 @@ class AllnetServlet:
msg = f"{req.serial} authenticated from {request_ip}: {req.game_id} v{req.ver}" msg = f"{req.serial} authenticated from {request_ip}: {req.game_id} v{req.ver}"
self.data.base.log_event("allnet", "ALLNET_AUTH_SUCCESS", logging.INFO, msg) self.data.base.log_event("allnet", "ALLNET_AUTH_SUCCESS", logging.INFO, msg)
self.logger.info(msg) self.logger.info(msg)
self.logger.debug(f"Allnet response: {vars(resp)}")
return self.dict_to_http_form_string([vars(resp)]).encode("utf-8") resp_dict = {k: v for k, v in vars(resp).items() if v is not None}
resp_str = urllib.parse.unquote(urllib.parse.urlencode(resp_dict))
self.logger.debug(f"Allnet response: {resp_dict}")
resp_str += "\n"
return resp_str.encode("utf-8")
def handle_dlorder(self, request: Request, _: Dict): def handle_dlorder(self, request: Request, _: Dict):
request_ip = Utils.get_ip_addr(request) request_ip = Utils.get_ip_addr(request)
@ -196,13 +208,13 @@ class AllnetServlet:
self.logger.info( self.logger.info(
f"DownloadOrder from {request_ip} -> {req.game_id} v{req.ver} serial {req.serial}" f"DownloadOrder from {request_ip} -> {req.game_id} v{req.ver} serial {req.serial}"
) )
resp = AllnetDownloadOrderResponse() resp = AllnetDownloadOrderResponse(serial=req.serial)
if ( if (
not self.config.allnet.allow_online_updates not self.config.allnet.allow_online_updates
or not self.config.allnet.update_cfg_folder or not self.config.allnet.update_cfg_folder
): ):
return self.dict_to_http_form_string([vars(resp)]) return urllib.parse.unquote(urllib.parse.urlencode(vars(resp))) + "\n"
else: # TODO: Keychip check else: # TODO: Keychip check
if path.exists( if path.exists(
@ -216,7 +228,9 @@ class AllnetServlet:
resp.uri += f"|http://{self.config.title.hostname}:{self.config.title.port}/dl/ini/{req.game_id}-{req.ver.replace('.', '')}-opt.ini" resp.uri += f"|http://{self.config.title.hostname}:{self.config.title.port}/dl/ini/{req.game_id}-{req.ver.replace('.', '')}-opt.ini"
self.logger.debug(f"Sending download uri {resp.uri}") self.logger.debug(f"Sending download uri {resp.uri}")
return self.dict_to_http_form_string([vars(resp)]) self.data.base.log_event("allnet", "DLORDER_REQ_SUCCESS", logging.INFO, f"{Utils.get_ip_addr(request)} requested DL Order for {req.serial} {req.game_id} v{req.ver}")
return urllib.parse.unquote(urllib.parse.urlencode(vars(resp))) + "\n"
def handle_dlorder_ini(self, request: Request, match: Dict) -> bytes: def handle_dlorder_ini(self, request: Request, match: Dict) -> bytes:
if "file" not in match: if "file" not in match:
@ -225,6 +239,8 @@ class AllnetServlet:
req_file = match["file"].replace("%0A", "") req_file = match["file"].replace("%0A", "")
if path.exists(f"{self.config.allnet.update_cfg_folder}/{req_file}"): if path.exists(f"{self.config.allnet.update_cfg_folder}/{req_file}"):
self.logger.info(f"Request for DL INI file {req_file} from {Utils.get_ip_addr(request)} successful")
self.data.base.log_event("allnet", "DLORDER_INI_SENT", logging.INFO, f"{Utils.get_ip_addr(request)} successfully recieved {req_file}")
return open( return open(
f"{self.config.allnet.update_cfg_folder}/{req_file}", "rb" f"{self.config.allnet.update_cfg_folder}/{req_file}", "rb"
).read() ).read()
@ -238,6 +254,27 @@ class AllnetServlet:
) )
return b"" return b""
def handle_loaderstaterecorder(self, request: Request, match: Dict) -> bytes:
req_data = request.content.getvalue()
sections = req_data.decode("utf-8").split("\r\n")
req_dict = dict(urllib.parse.parse_qsl(sections[0]))
serial: Union[str, None] = req_dict.get("serial", None)
num_files_to_dl: Union[str, None] = req_dict.get("nb_ftd", None)
num_files_dld: Union[str, None] = req_dict.get("nb_dld", None)
dl_state: Union[str, None] = req_dict.get("dld_st", None)
ip = Utils.get_ip_addr(request)
if serial is None or num_files_dld is None or num_files_to_dl is None or dl_state is None:
return "NG".encode()
self.logger.info(f"LoaderStateRecorder Request from {ip} {serial}: {num_files_dld}/{num_files_to_dl} Files download (State: {dl_state})")
return "OK".encode()
def handle_alive(self, request: Request, match: Dict) -> bytes:
return "OK".encode()
def handle_billing_request(self, request: Request, _: Dict): def handle_billing_request(self, request: Request, _: Dict):
req_dict = self.billing_req_to_dict(request.content.getvalue()) req_dict = self.billing_req_to_dict(request.content.getvalue())
request_ip = Utils.get_ip_addr(request) request_ip = Utils.get_ip_addr(request)
@ -301,7 +338,7 @@ class AllnetServlet:
resp = BillingResponse(playlimit, playlimit_sig, nearfull, nearfull_sig) resp = BillingResponse(playlimit, playlimit_sig, nearfull, nearfull_sig)
resp_str = self.dict_to_http_form_string([vars(resp)], True) resp_str = self.dict_to_http_form_string([vars(resp)])
if resp_str is None: if resp_str is None:
self.logger.error(f"Failed to parse response {vars(resp)}") self.logger.error(f"Failed to parse response {vars(resp)}")
@ -312,21 +349,6 @@ class AllnetServlet:
self.logger.info(f"Ping from {Utils.get_ip_addr(request)}") self.logger.info(f"Ping from {Utils.get_ip_addr(request)}")
return b"naomi ok" return b"naomi ok"
def kvp_to_dict(self, kvp: List[str]) -> List[Dict[str, Any]]:
ret: List[Dict[str, Any]] = []
for x in kvp:
items = x.split("&")
tmp = {}
for item in items:
kvp = item.split("=")
if len(kvp) == 2:
tmp[kvp[0]] = kvp[1]
ret.append(tmp)
return ret
def billing_req_to_dict(self, data: bytes): def billing_req_to_dict(self, data: bytes):
""" """
Parses an billing request string into a python dictionary Parses an billing request string into a python dictionary
@ -336,7 +358,10 @@ class AllnetServlet:
unzipped = decomp.decompress(data) unzipped = decomp.decompress(data)
sections = unzipped.decode("ascii").split("\r\n") sections = unzipped.decode("ascii").split("\r\n")
return self.kvp_to_dict(sections) ret = []
for x in sections:
ret.append(dict(urllib.parse.parse_qsl(x)))
return ret
except Exception as e: except Exception as e:
self.logger.error(f"billing_req_to_dict: {e} while parsing {data}") self.logger.error(f"billing_req_to_dict: {e} while parsing {data}")
@ -351,7 +376,10 @@ class AllnetServlet:
unzipped = zlib.decompress(zipped) unzipped = zlib.decompress(zipped)
sections = unzipped.decode("utf-8").split("\r\n") sections = unzipped.decode("utf-8").split("\r\n")
return self.kvp_to_dict(sections) ret = []
for x in sections:
ret.append(dict(urllib.parse.parse_qsl(x)))
return ret
except Exception as e: except Exception as e:
self.logger.error(f"allnet_req_to_dict: {e} while parsing {data}") self.logger.error(f"allnet_req_to_dict: {e} while parsing {data}")
@ -360,7 +388,7 @@ class AllnetServlet:
def dict_to_http_form_string( def dict_to_http_form_string(
self, self,
data: List[Dict[str, Any]], data: List[Dict[str, Any]],
crlf: bool = False, crlf: bool = True,
trailing_newline: bool = True, trailing_newline: bool = True,
) -> Optional[str]: ) -> Optional[str]:
""" """
@ -370,21 +398,19 @@ class AllnetServlet:
urlencode = "" urlencode = ""
for item in data: for item in data:
for k, v in item.items(): for k, v in item.items():
if k is None or v is None:
continue
urlencode += f"{k}={v}&" urlencode += f"{k}={v}&"
if crlf: if crlf:
urlencode = urlencode[:-1] + "\r\n" urlencode = urlencode[:-1] + "\r\n"
else: else:
urlencode = urlencode[:-1] + "\n" urlencode = urlencode[:-1] + "\n"
if not trailing_newline: if not trailing_newline:
if crlf: if crlf:
urlencode = urlencode[:-2] urlencode = urlencode[:-2]
else: else:
urlencode = urlencode[:-1] urlencode = urlencode[:-1]
return urlencode return urlencode
except Exception as e: except Exception as e:
self.logger.error(f"dict_to_http_form_string: {e} while parsing {data}") self.logger.error(f"dict_to_http_form_string: {e} while parsing {data}")
return None return None
@ -394,20 +420,19 @@ class AllnetPowerOnRequest:
def __init__(self, req: Dict) -> None: def __init__(self, req: Dict) -> None:
if req is None: if req is None:
raise AllnetRequestException("Request processing failed") raise AllnetRequestException("Request processing failed")
self.game_id: str = req.get("game_id", "") self.game_id: str = req.get("game_id", None)
self.ver: str = req.get("ver", "") self.ver: str = req.get("ver", None)
self.serial: str = req.get("serial", "") self.serial: str = req.get("serial", None)
self.ip: str = req.get("ip", "") self.ip: str = req.get("ip", None)
self.firm_ver: str = req.get("firm_ver", "") self.firm_ver: str = req.get("firm_ver", None)
self.boot_ver: str = req.get("boot_ver", "") self.boot_ver: str = req.get("boot_ver", None)
self.encode: str = req.get("encode", "") self.encode: str = req.get("encode", "EUC-JP")
self.hops = int(req.get("hops", "0")) self.hops = int(req.get("hops", "-1"))
self.format_ver = req.get("format_ver", "2") self.format_ver = float(req.get("format_ver", "1.00"))
self.token = int(req.get("token", "0")) self.token: str = req.get("token", "0")
class AllnetPowerOnResponse:
class AllnetPowerOnResponse3: def __init__(self) -> None:
def __init__(self, token) -> None:
self.stat = 1 self.stat = 1
self.uri = "" self.uri = ""
self.host = "" self.host = ""
@ -419,39 +444,44 @@ class AllnetPowerOnResponse3:
self.region_name1 = "" self.region_name1 = ""
self.region_name2 = "" self.region_name2 = ""
self.region_name3 = "" self.region_name3 = ""
self.country = "JPN"
self.allnet_id = "123"
self.client_timezone = "+0900"
self.utc_time = datetime.now(tz=pytz.timezone("UTC")).strftime(
"%Y-%m-%dT%H:%M:%SZ"
)
self.setting = "1" self.setting = "1"
self.res_ver = "3"
self.token = str(token)
class AllnetPowerOnResponse2:
def __init__(self) -> None:
self.stat = 1
self.uri = ""
self.host = ""
self.place_id = "123"
self.name = "ARTEMiS"
self.nickname = "ARTEMiS"
self.region0 = "1"
self.region_name0 = "W"
self.region_name1 = "X"
self.region_name2 = "Y"
self.region_name3 = "Z"
self.country = "JPN"
self.year = datetime.now().year self.year = datetime.now().year
self.month = datetime.now().month self.month = datetime.now().month
self.day = datetime.now().day self.day = datetime.now().day
self.hour = datetime.now().hour self.hour = datetime.now().hour
self.minute = datetime.now().minute self.minute = datetime.now().minute
self.second = datetime.now().second self.second = datetime.now().second
self.setting = "1"
self.timezone = "+0900" class AllnetPowerOnResponse3(AllnetPowerOnResponse):
def __init__(self, token) -> None:
super().__init__()
# Added in v3
self.country = "JPN"
self.allnet_id = "123"
self.client_timezone = "+0900"
self.utc_time = datetime.now(tz=pytz.timezone("UTC")).strftime(
"%Y-%m-%dT%H:%M:%SZ"
)
self.res_ver = "3"
self.token = token
# Removed in v3
self.year = None
self.month = None
self.day = None
self.hour = None
self.minute = None
self.second = None
class AllnetPowerOnResponse2(AllnetPowerOnResponse):
def __init__(self) -> None:
super().__init__()
# Added in v2
self.country = "JPN"
self.timezone = "+09:00"
self.res_class = "PowerOnResponseV2" self.res_class = "PowerOnResponseV2"

View File

@ -36,6 +36,12 @@ class ServerConfig:
self.__config, "core", "server", "is_develop", default=True self.__config, "core", "server", "is_develop", default=True
) )
@property
def threading(self) -> bool:
return CoreConfig.get_config_field(
self.__config, "core", "server", "threading", default=False
)
@property @property
def log_dir(self) -> str: def log_dir(self) -> str:
return CoreConfig.get_config_field( return CoreConfig.get_config_field(

View File

@ -15,6 +15,13 @@ from core.utils import Utils
class Data: class Data:
current_schema_version = 4
engine = None
session = None
user = None
arcade = None
card = None
base = None
def __init__(self, cfg: CoreConfig) -> None: def __init__(self, cfg: CoreConfig) -> None:
self.config = cfg self.config = cfg
@ -24,22 +31,32 @@ class Data:
else: else:
self.__url = f"{self.config.database.protocol}://{self.config.database.username}:{self.config.database.password}@{self.config.database.host}/{self.config.database.name}?charset=utf8mb4" self.__url = f"{self.config.database.protocol}://{self.config.database.username}:{self.config.database.password}@{self.config.database.host}/{self.config.database.name}?charset=utf8mb4"
self.__engine = create_engine(self.__url, pool_recycle=3600) if Data.engine is None:
session = sessionmaker(bind=self.__engine, autoflush=True, autocommit=True) Data.engine = create_engine(self.__url, pool_recycle=3600)
self.session = scoped_session(session) self.__engine = Data.engine
self.user = UserData(self.config, self.session) if Data.session is None:
self.arcade = ArcadeData(self.config, self.session) s = sessionmaker(bind=Data.engine, autoflush=True, autocommit=True)
self.card = CardData(self.config, self.session) Data.session = scoped_session(s)
self.base = BaseData(self.config, self.session)
self.current_schema_version = 4 if Data.user is None:
Data.user = UserData(self.config, self.session)
if Data.arcade is None:
Data.arcade = ArcadeData(self.config, self.session)
if Data.card is None:
Data.card = CardData(self.config, self.session)
if Data.base is None:
Data.base = BaseData(self.config, self.session)
log_fmt_str = "[%(asctime)s] %(levelname)s | Database | %(message)s"
log_fmt = logging.Formatter(log_fmt_str)
self.logger = logging.getLogger("database") self.logger = logging.getLogger("database")
# Prevent the logger from adding handlers multiple times # Prevent the logger from adding handlers multiple times
if not getattr(self.logger, "handler_set", None): if not getattr(self.logger, "handler_set", None):
log_fmt_str = "[%(asctime)s] %(levelname)s | Database | %(message)s"
log_fmt = logging.Formatter(log_fmt_str)
fileHandler = TimedRotatingFileHandler( fileHandler = TimedRotatingFileHandler(
"{0}/{1}.log".format(self.config.server.log_dir, "db"), "{0}/{1}.log".format(self.config.server.log_dir, "db"),
encoding="utf-8", encoding="utf-8",
@ -333,3 +350,8 @@ class Data:
if not failed: if not failed:
self.base.set_schema_ver(latest_ver, game) self.base.set_schema_ver(latest_ver, game)
def show_versions(self) -> None:
all_game_versions = self.base.get_all_schema_vers()
for ver in all_game_versions:
self.logger.info(f"{ver['game']} -> v{ver['version']}")

View File

@ -0,0 +1,3 @@
ALTER TABLE mai2_item_card
CHANGE COLUMN startDate startDate TIMESTAMP DEFAULT "2018-01-01 00:00:00.0",
CHANGE COLUMN endDate endDate TIMESTAMP DEFAULT "2038-01-01 00:00:00.0";

View File

@ -0,0 +1,78 @@
DELETE FROM mai2_static_event WHERE version < 13;
UPDATE mai2_static_event SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_static_music WHERE version < 13;
UPDATE mai2_static_music SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_static_ticket WHERE version < 13;
UPDATE mai2_static_ticket SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_static_cards WHERE version < 13;
UPDATE mai2_static_cards SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_profile_detail WHERE version < 13;
UPDATE mai2_profile_detail SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_profile_extend WHERE version < 13;
UPDATE mai2_profile_extend SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_profile_option WHERE version < 13;
UPDATE mai2_profile_option SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_profile_ghost WHERE version < 13;
UPDATE mai2_profile_ghost SET version = version - 13 WHERE version >= 13;
DELETE FROM mai2_profile_rating WHERE version < 13;
UPDATE mai2_profile_rating SET version = version - 13 WHERE version >= 13;
DROP TABLE maimai_score_best;
DROP TABLE maimai_playlog;
DROP TABLE maimai_profile_detail;
DROP TABLE maimai_profile_option;
DROP TABLE maimai_profile_web_option;
DROP TABLE maimai_profile_grade_status;
ALTER TABLE mai2_item_character DROP COLUMN point;
ALTER TABLE mai2_item_card MODIFY COLUMN cardId int(11) NOT NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN cardTypeId int(11) NOT NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN charaId int(11) NOT NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN mapId int(11) NOT NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN characterId int(11) NOT NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN level int(11) NOT NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN awakening int(11) NOT NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN useCount int(11) NOT NULL;
ALTER TABLE mai2_item_charge MODIFY COLUMN chargeId int(11) NOT NULL;
ALTER TABLE mai2_item_charge MODIFY COLUMN stock int(11) NOT NULL;
ALTER TABLE mai2_item_favorite MODIFY COLUMN itemKind int(11) NOT NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN seasonId int(11) NOT NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN point int(11) NOT NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN rank int(11) NOT NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN rewardGet tinyint(1) NOT NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN userName varchar(8) NOT NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN itemId int(11) NOT NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN itemKind int(11) NOT NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN stock int(11) NOT NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN isValid tinyint(1) NOT NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN bonusId int(11) NOT NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN point int(11) NOT NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN isCurrent tinyint(1) NOT NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN isComplete tinyint(1) NOT NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN mapId int(11) NOT NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN distance int(11) NOT NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isLock tinyint(1) NOT NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isClear tinyint(1) NOT NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isComplete tinyint(1) NOT NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN printDate timestamp DEFAULT current_timestamp() NOT NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN serialId varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN placeId int(11) NOT NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN clientId varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN printerSerialId varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;

View File

@ -0,0 +1,3 @@
ALTER TABLE mai2_item_card
CHANGE COLUMN startDate startDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE COLUMN endDate endDate TIMESTAMP NOT NULL;

View File

@ -0,0 +1 @@
DROP TABLE aime.mai2_profile_consec_logins;

View File

@ -0,0 +1,62 @@
UPDATE mai2_static_event SET version = version + 13 WHERE version < 1000;
UPDATE mai2_static_music SET version = version + 13 WHERE version < 1000;
UPDATE mai2_static_ticket SET version = version + 13 WHERE version < 1000;
UPDATE mai2_static_cards SET version = version + 13 WHERE version < 1000;
UPDATE mai2_profile_detail SET version = version + 13 WHERE version < 1000;
UPDATE mai2_profile_extend SET version = version + 13 WHERE version < 1000;
UPDATE mai2_profile_option SET version = version + 13 WHERE version < 1000;
UPDATE mai2_profile_ghost SET version = version + 13 WHERE version < 1000;
UPDATE mai2_profile_rating SET version = version + 13 WHERE version < 1000;
ALTER TABLE mai2_item_character ADD point int(11) NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN cardId int(11) NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN cardTypeId int(11) NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN charaId int(11) NULL;
ALTER TABLE mai2_item_card MODIFY COLUMN mapId int(11) NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN characterId int(11) NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN level int(11) NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN awakening int(11) NULL;
ALTER TABLE mai2_item_character MODIFY COLUMN useCount int(11) NULL;
ALTER TABLE mai2_item_charge MODIFY COLUMN chargeId int(11) NULL;
ALTER TABLE mai2_item_charge MODIFY COLUMN stock int(11) NULL;
ALTER TABLE mai2_item_favorite MODIFY COLUMN itemKind int(11) NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN seasonId int(11) NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN point int(11) NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN rank int(11) NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN rewardGet tinyint(1) NULL;
ALTER TABLE mai2_item_friend_season_ranking MODIFY COLUMN userName varchar(8) NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN itemId int(11) NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN itemKind int(11) NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN stock int(11) NULL;
ALTER TABLE mai2_item_item MODIFY COLUMN isValid tinyint(1) NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN bonusId int(11) NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN point int(11) NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN isCurrent tinyint(1) NULL;
ALTER TABLE mai2_item_login_bonus MODIFY COLUMN isComplete tinyint(1) NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN mapId int(11) NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN distance int(11) NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isLock tinyint(1) NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isClear tinyint(1) NULL;
ALTER TABLE mai2_item_map MODIFY COLUMN isComplete tinyint(1) NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN printDate timestamp DEFAULT current_timestamp() NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN serialId varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN placeId int(11) NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN clientId varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL;
ALTER TABLE mai2_item_print_detail MODIFY COLUMN printerSerialId varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL;

View File

@ -0,0 +1,9 @@
CREATE TABLE `mai2_profile_consec_logins` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) NOT NULL,
`version` int(11) NOT NULL,
`logins` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `mai2_profile_consec_logins_uk` (`user`,`version`),
CONSTRAINT `mai2_profile_consec_logins_ibfk_1` FOREIGN KEY (`user`) REFERENCES `aime_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

View File

@ -33,8 +33,8 @@ class MuchaServlet:
self.logger.addHandler(fileHandler) self.logger.addHandler(fileHandler)
self.logger.addHandler(consoleHandler) self.logger.addHandler(consoleHandler)
self.logger.setLevel(logging.INFO) self.logger.setLevel(cfg.mucha.loglevel)
coloredlogs.install(level=logging.INFO, logger=self.logger, fmt=log_fmt_str) coloredlogs.install(level=cfg.mucha.loglevel, logger=self.logger, fmt=log_fmt_str)
all_titles = Utils.get_all_titles() all_titles = Utils.get_all_titles()

View File

@ -84,7 +84,7 @@ class TitleServlet:
request.setResponseCode(405) request.setResponseCode(405)
return b"" return b""
return index.render_GET(request, endpoints["version"], endpoints["endpoint"]) return index.render_GET(request, int(endpoints["version"]), endpoints["endpoint"])
def render_POST(self, request: Request, endpoints: dict) -> bytes: def render_POST(self, request: Request, endpoints: dict) -> bytes:
code = endpoints["game"] code = endpoints["game"]

View File

@ -85,4 +85,7 @@ if __name__ == "__main__":
elif args.action == "cleanup": elif args.action == "cleanup":
data.delete_hanging_users() data.delete_hanging_users()
elif args.action == "version":
data.show_versions()
data.logger.info("Done") data.logger.info("Done")

View File

@ -5,6 +5,7 @@
- `allow_unregistered_serials`: Allows games that do not have registered keychips to connect and authenticate. Disable to restrict who can connect to your server. Recomended to disable for production setups. Default `True` - `allow_unregistered_serials`: Allows games that do not have registered keychips to connect and authenticate. Disable to restrict who can connect to your server. Recomended to disable for production setups. Default `True`
- `name`: Name for the server, used by some games in their default MOTDs. Default `ARTEMiS` - `name`: Name for the server, used by some games in their default MOTDs. Default `ARTEMiS`
- `is_develop`: Flags that the server is a development instance without a proxy standing in front of it. Setting to `False` tells the server not to listen for SSL, because the proxy should be handling all SSL-related things, among other things. Default `True` - `is_develop`: Flags that the server is a development instance without a proxy standing in front of it. Setting to `False` tells the server not to listen for SSL, because the proxy should be handling all SSL-related things, among other things. Default `True`
- `threading`: Flags that `reactor.run` should be called via the `Thread` standard library. May provide a speed boost, but removes the ability to kill the server via `Ctrl + C`. Default: `False`
- `log_dir`: Directory to store logs. Server MUST have read and write permissions to this directory or you will have issues. Default `logs` - `log_dir`: Directory to store logs. Server MUST have read and write permissions to this directory or you will have issues. Default `logs`
## Title ## Title
- `loglevel`: Logging level for the title server. Default `info` - `loglevel`: Logging level for the title server. Default `info`

View File

@ -127,28 +127,50 @@ Config file is located in `config/cxb.yaml`.
### SDEZ ### SDEZ
| Version ID | Version Name | | Game Code | Version ID | Version Name |
|------------|-------------------------| |-----------|------------|-------------------------|
| 0 | maimai DX |
| 1 | maimai DX PLUS |
| 2 | maimai DX Splash | For versions pre-dx
| 3 | maimai DX Splash PLUS | | Game Code | Version ID | Version Name |
| 4 | maimai DX UNiVERSE | |-----------|------------|-------------------------|
| 5 | maimai DX UNiVERSE PLUS | | SBXL | 0 | maimai |
| 6 | maimai DX FESTiVAL | | SBXL | 1 | maimai PLUS |
| SBZF | 2 | maimai GreeN |
| SBZF | 3 | maimai GreeN PLUS |
| SDBM | 4 | maimai ORANGE |
| SDBM | 5 | maimai ORANGE PLUS |
| SDCQ | 6 | maimai PiNK |
| SDCQ | 7 | maimai PiNK PLUS |
| SDDK | 8 | maimai MURASAKI |
| SDDK | 9 | maimai MURASAKI PLUS |
| SDDZ | 10 | maimai MILK |
| SDDZ | 11 | maimai MILK PLUS |
| SDEY | 12 | maimai FiNALE |
| SDEZ | 13 | maimai DX |
| SDEZ | 14 | maimai DX PLUS |
| SDEZ | 15 | maimai DX Splash |
| SDEZ | 16 | maimai DX Splash PLUS |
| SDEZ | 17 | maimai DX Universe |
| SDEZ | 18 | maimai DX Universe PLUS |
| SDEZ | 19 | maimai DX Festival |
### Importer ### Importer
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
DX:
```shell ```shell
python read.py --series SDEZ --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder python read.py --series <Game Code> --version <Version ID> --binfolder /path/to/StreamingAssets --optfolder /path/to/game/option/folder
```
Pre-DX:
```shell
python read.py --series <Game Code> --version <Version ID> --binfolder /path/to/data --optfolder /path/to/patch/data
``` ```
The importer for maimai DX will import Events, Music and Tickets. The importer for maimai DX will import Events, Music and Tickets.
**NOTE: It is required to use the importer because the game will The importer for maimai Pre-DX will import Events and Music. Not all games will have patch data. Milk - Finale have file encryption, and need an AES key. That key is not provided by the developers. For games that do use encryption, provide the key, as a hex string, with the `--extra` flag. Ex `--extra 00112233445566778899AABBCCDDEEFF`
crash without Events!**
**Important: It is required to use the importer because some games may not function properly or even crash without Events!**
### Database upgrade ### Database upgrade
@ -157,6 +179,7 @@ Always make sure your database (tables) are up-to-date, to do so go to the `core
```shell ```shell
python dbutils.py --game SDEZ upgrade python dbutils.py --game SDEZ upgrade
``` ```
Pre-Dx uses the same database as DX, so only upgrade using the SDEZ game code!
## Hatsune Miku Project Diva ## Hatsune Miku Project Diva
@ -253,13 +276,13 @@ python dbutils.py --game SDDT upgrade
| Version ID | Version Name | | Version ID | Version Name |
|------------|-----------------| |------------|-----------------|
| 0 | Card Maker 1.34 | | 0 | Card Maker 1.30 |
| 1 | Card Maker 1.35 | | 1 | Card Maker 1.35 |
### Support status ### Support status
* Card Maker 1.34: * Card Maker 1.30:
* CHUNITHM NEW!!: Yes * CHUNITHM NEW!!: Yes
* maimai DX UNiVERSE: Yes * maimai DX UNiVERSE: Yes
* O.N.G.E.K.I. Bright: Yes * O.N.G.E.K.I. Bright: Yes
@ -285,19 +308,46 @@ python read.py --series SDED --version <version ID> --binfolder titles/cm/cm_dat
python read.py --series SDDT --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder python read.py --series SDDT --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder
``` ```
Also make sure to import all maimai and Chunithm data as well: Also make sure to import all maimai DX and CHUNITHM data as well:
```shell ```shell
python read.py --series SDED --version <version ID> --binfolder /path/to/cardmaker/CardMaker_Data python read.py --series SDED --version <version ID> --binfolder /path/to/cardmaker/CardMaker_Data
``` ```
The importer for Card Maker will import all required Gachas (Banners) and cards (for maimai/Chunithm) and the hardcoded The importer for Card Maker will import all required Gachas (Banners) and cards (for maimai DX/CHUNITHM) and the hardcoded
Cards for each Gacha (O.N.G.E.K.I. only). Cards for each Gacha (O.N.G.E.K.I. only).
**NOTE: Without executing the importer Card Maker WILL NOT work!** **NOTE: Without executing the importer Card Maker WILL NOT work!**
### O.N.G.E.K.I. Gachas ### Config setup
Make sure to update your `config/cardmaker.yaml` with the correct version for each game. To get the current version required to run a specific game, open every opt (Axxx) folder descending until you find all three folders:
- `MU3`: O.N.G.E.K.I.
- `MAI`: maimai DX
- `CHU`: CHUNITHM
Inside each folder is a `DataConfig.xml` file, for example:
`MU3/DataConfig.xml`:
```xml
<cardMakerVersion>
<major>1</major>
<minor>35</minor>
<release>3</release>
</cardMakerVersion>
```
Now update your `config/cardmaker.yaml` with the correct version number, for example:
```yaml
version:
1: # Card Maker 1.35
ongeki: 1.35.03
```
### O.N.G.E.K.I.
Gacha "無料ガチャ" can only pull from the free cards with the following probabilities: 94%: R, 5% SR and 1% chance of Gacha "無料ガチャ" can only pull from the free cards with the following probabilities: 94%: R, 5% SR and 1% chance of
getting an SSR card getting an SSR card
@ -310,20 +360,24 @@ and 3% chance of getting an SSR card
All other (limited) gachas can pull from every card added to ongeki_static_cards but with the promoted cards All other (limited) gachas can pull from every card added to ongeki_static_cards but with the promoted cards
(click on the green button under the banner) having a 10 times higher chance to get pulled (click on the green button under the banner) having a 10 times higher chance to get pulled
### Chunithm Gachas ### CHUNITHM
All cards in Chunithm (basically just the characters) have the same rarity to it just pulls randomly from all cards All cards in CHUNITHM (basically just the characters) have the same rarity to it just pulls randomly from all cards
from a given gacha but made sure you cannot pull the same card twice in the same 5 times gacha roll. from a given gacha but made sure you cannot pull the same card twice in the same 5 times gacha roll.
### maimai DX
Printed maimai DX cards: Freedom (`cardTypeId=6`) or Gold Pass (`cardTypeId=4`) can now be selected during the login process. You can only have ONE Freedom and ONE Gold Pass active at a given time. The cards will expire after 15 days.
Thanks GetzeAvenue for the `selectedCardList` rarity hint!
### Notes ### Notes
Card Maker 1.34 will only load an O.N.G.E.K.I. Bright profile (1.30). Card Maker 1.35 will only load an O.N.G.E.K.I. Card Maker 1.30-1.34 will only load an O.N.G.E.K.I. Bright profile (1.30). Card Maker 1.35+ will only load an O.N.G.E.K.I.
Bright Memory profile (1.35). Bright Memory profile (1.35).
The gachas inside the `ongeki.yaml` will make sure only the right gacha ids for the right CM version will be loaded. The gachas inside the `config/ongeki.yaml` will make sure only the right gacha ids for the right CM version will be loaded.
Gacha IDs up to 1140 will be loaded for CM 1.34 and all gachas will be loaded for CM 1.35. Gacha IDs up to 1140 will be loaded for CM 1.34 and all gachas will be loaded for CM 1.35.
**NOTE: There is currently no way to load/use the (printed) maimai DX cards!**
## WACCA ## WACCA
### SDFE ### SDFE
@ -367,6 +421,41 @@ Always make sure your database (tables) are up-to-date, to do so go to the `core
python dbutils.py --game SDFE upgrade python dbutils.py --game SDFE upgrade
``` ```
### VIP Rewards
Below is a list of VIP rewards. Currently, VIP is not implemented, and thus these are not obtainable. These 23 rewards were distributed once per month for VIP users on the real network.
Plates:
211004 リッチ
211018 特盛えりざべす
211025 イースター
211026 特盛りりぃ
311004 ファンシー
311005 インカンテーション
311014 夜明け
311015 ネイビー
311016 特盛るーん
Ring Colors:
203002 Gold Rushイエロー
203009 トロピカル
303005 ネイチャー
Icons:
202020 どらみんぐ
202063 ユニコーン
202086 ゴリラ
302014 ローズ
302015 ファラオ
302045 肉球
302046 WACCA
302047 WACCA Lily
302048 WACCA Reverse
Note Sound Effect:
205002 テニス
205008 シャワー
305003 タンバリンMk-Ⅱ
## SAO ## SAO
### SDEW ### SDEW
@ -405,6 +494,13 @@ Always make sure your database (tables) are up-to-date, to do so go to the `core
python dbutils.py --game SDEW upgrade python dbutils.py --game SDEW upgrade
``` ```
### Notes
- Defrag Match will crash at loading
- Co-Op Online is not supported
- Shop is not functionnal
- Player title is currently static and cannot be changed in-game
- QR Card Scanning currently only load a static hero
### Credits for SAO support: ### Credits for SAO support:
- Midorica - Limited Network Support - Midorica - Limited Network Support

View File

@ -1,3 +1,13 @@
server: server:
enable: True enable: True
loglevel: "info" loglevel: "info"
version:
0:
ongeki: 1.30.01
chuni: 2.00.00
maimai: 1.20.00
1:
ongeki: 1.35.03
chuni: 2.10.00
maimai: 1.30.00

View File

@ -4,6 +4,7 @@ server:
allow_unregistered_serials: True allow_unregistered_serials: True
name: "ARTEMiS" name: "ARTEMiS"
is_develop: True is_develop: True
threading: False
log_dir: "logs" log_dir: "logs"
title: title:

View File

@ -1,3 +1,8 @@
server: server:
enable: True enable: True
loglevel: "info" loglevel: "info"
deliver:
enable: False
udbdl_enable: False
content_folder: ""

View File

@ -2,8 +2,11 @@ server:
hostname: "localhost" hostname: "localhost"
enable: True enable: True
loglevel: "info" loglevel: "info"
port: 9000
port_stun: 9001
port_turn: 9002
port_admission: 9003
auto_register: True auto_register: True
enable_matching: False
stun_server_host: "stunserver.stunprotocol.org"
stun_server_port: 3478
ports:
game: 9000
admission: 9001

View File

@ -11,7 +11,7 @@ from twisted.web import server, resource
from twisted.internet import reactor, endpoints from twisted.internet import reactor, endpoints
from twisted.web.http import Request from twisted.web.http import Request
from routes import Mapper from routes import Mapper
from threading import Thread
class HttpDispatcher(resource.Resource): class HttpDispatcher(resource.Resource):
def __init__(self, cfg: CoreConfig, config_dir: str): def __init__(self, cfg: CoreConfig, config_dir: str):
@ -63,6 +63,27 @@ class HttpDispatcher(resource.Resource):
action="handle_dlorder", action="handle_dlorder",
conditions=dict(method=["POST"]), conditions=dict(method=["POST"]),
) )
self.map_post.connect(
"allnet_loaderstaterecorder",
"/sys/servlet/LoaderStateRecorder",
controller="allnet",
action="handle_loaderstaterecorder",
conditions=dict(method=["POST"]),
)
self.map_post.connect(
"allnet_alive",
"/sys/servlet/Alive",
controller="allnet",
action="handle_alive",
conditions=dict(method=["POST"]),
)
self.map_get.connect(
"allnet_alive",
"/sys/servlet/Alive",
controller="allnet",
action="handle_alive",
conditions=dict(method=["GET"]),
)
self.map_post.connect( self.map_post.connect(
"allnet_billing", "allnet_billing",
"/request", "/request",
@ -111,7 +132,6 @@ class HttpDispatcher(resource.Resource):
) )
def render_GET(self, request: Request) -> bytes: def render_GET(self, request: Request) -> bytes:
self.logger.debug(request.uri)
test = self.map_get.match(request.uri.decode()) test = self.map_get.match(request.uri.decode())
client_ip = Utils.get_ip_addr(request) client_ip = Utils.get_ip_addr(request)
@ -161,9 +181,16 @@ class HttpDispatcher(resource.Resource):
if type(ret) == str: if type(ret) == str:
return ret.encode() return ret.encode()
elif type(ret) == bytes:
elif type(ret) == bytes or type(ret) == tuple: # allow for bytes or tuple (data, response code) responses
return ret return ret
elif ret is None:
self.logger.warn(f"None returned by controller for {request.uri.decode()} endpoint")
return b""
else: else:
self.logger.warn(f"Unknown data type returned by controller for {request.uri.decode()} endpoint")
return b"" return b""
@ -256,4 +283,7 @@ if __name__ == "__main__":
server.Site(dispatcher) server.Site(dispatcher)
) )
reactor.run() # type: ignore if cfg.server.threading:
Thread(target=reactor.run, args=(False,)).start()
else:
reactor.run()

View File

@ -17,7 +17,7 @@ Games listed below have been tested and confirmed working. Only game versions ol
+ All versions + All versions
+ Card Maker + Card Maker
+ 1.34 + 1.30
+ 1.35 + 1.35
+ O.N.G.E.K.I. + O.N.G.E.K.I.
@ -30,6 +30,9 @@ Games listed below have been tested and confirmed working. Only game versions ol
+ POKKÉN TOURNAMENT + POKKÉN TOURNAMENT
+ Final Online + Final Online
+ Sword Art Online Arcade (partial support)
+ Final
## Requirements ## Requirements
- python 3 (tested working with 3.9 and 3.10, other versions YMMV) - python 3 (tested working with 3.9 and 3.10, other versions YMMV)
- pip - pip

Binary file not shown.

View File

@ -4,7 +4,7 @@ from datetime import datetime, timedelta
from time import strftime from time import strftime
import pytz import pytz
from typing import Dict, Any from typing import Dict, Any, List
from core.config import CoreConfig from core.config import CoreConfig
from titles.chuni.const import ChuniConstants from titles.chuni.const import ChuniConstants
@ -401,7 +401,7 @@ class ChuniBase:
"userItemList": [], "userItemList": [],
} }
items: list[Dict[str, Any]] = [] items: List[Dict[str, Any]] = []
for i in range(next_idx, len(user_item_list)): for i in range(next_idx, len(user_item_list)):
tmp = user_item_list[i]._asdict() tmp = user_item_list[i]._asdict()
tmp.pop("user") tmp.pop("user")

View File

@ -296,7 +296,7 @@ class ChuniItemData(BaseData):
self, self,
version: int, version: int,
room_id: int, room_id: int,
matching_member_info_list: list, matching_member_info_list: List,
user_id: int = None, user_id: int = None,
rest_sec: int = 60, rest_sec: int = 60,
is_full: bool = False is_full: bool = False

View File

@ -23,19 +23,40 @@ class CardMakerBase:
self.game = CardMakerConstants.GAME_CODE self.game = CardMakerConstants.GAME_CODE
self.version = CardMakerConstants.VER_CARD_MAKER self.version = CardMakerConstants.VER_CARD_MAKER
@staticmethod
def _parse_int_ver(version: str) -> str:
return version.replace(".", "")[:3]
def handle_get_game_connect_api_request(self, data: Dict) -> Dict: def handle_get_game_connect_api_request(self, data: Dict) -> Dict:
if self.core_cfg.server.is_develop: if self.core_cfg.server.is_develop:
uri = f"http://{self.core_cfg.title.hostname}:{self.core_cfg.title.port}" uri = f"http://{self.core_cfg.title.hostname}:{self.core_cfg.title.port}"
else: else:
uri = f"http://{self.core_cfg.title.hostname}" uri = f"http://{self.core_cfg.title.hostname}"
# CHUNITHM = 0, maimai = 1, ONGEKI = 2 # grab the dict with all games version numbers from user config
games_ver = self.game_cfg.version.version(self.version)
return { return {
"length": 3, "length": 3,
"gameConnectList": [ "gameConnectList": [
{"modelKind": 0, "type": 1, "titleUri": f"{uri}/SDHD/200/"}, # CHUNITHM
{"modelKind": 1, "type": 1, "titleUri": f"{uri}/SDEZ/120/"}, {
{"modelKind": 2, "type": 1, "titleUri": f"{uri}/SDDT/130/"}, "modelKind": 0,
"type": 1,
"titleUri": f"{uri}/SDHD/{self._parse_int_ver(games_ver['chuni'])}/",
},
# maimai DX
{
"modelKind": 1,
"type": 1,
"titleUri": f"{uri}/SDEZ/{self._parse_int_ver(games_ver['maimai'])}/",
},
# ONGEKI
{
"modelKind": 2,
"type": 1,
"titleUri": f"{uri}/SDDT/{self._parse_int_ver(games_ver['ongeki'])}/",
},
], ],
} }
@ -47,12 +68,15 @@ class CardMakerBase:
datetime.now() + timedelta(hours=4), self.date_time_format datetime.now() + timedelta(hours=4), self.date_time_format
) )
# grab the dict with all games version numbers from user config
games_ver = self.game_cfg.version.version(self.version)
return { return {
"gameSetting": { "gameSetting": {
"dataVersion": "1.30.00", "dataVersion": "1.30.00",
"ongekiCmVersion": "1.30.01", "ongekiCmVersion": games_ver["ongeki"],
"chuniCmVersion": "2.00.00", "chuniCmVersion": games_ver["chuni"],
"maimaiCmVersion": "1.20.00", "maimaiCmVersion": games_ver["maimai"],
"requestInterval": 10, "requestInterval": 10,
"rebootStartTime": reboot_start, "rebootStartTime": reboot_start,
"rebootEndTime": reboot_end, "rebootEndTime": reboot_end,

View File

@ -1,8 +1,4 @@
from datetime import date, datetime, timedelta from typing import Dict
from typing import Any, Dict, List
import json
import logging
from enum import Enum
from core.config import CoreConfig from core.config import CoreConfig
from core.data.cache import cached from core.data.cache import cached
@ -16,23 +12,7 @@ class CardMaker135(CardMakerBase):
super().__init__(core_cfg, game_cfg) super().__init__(core_cfg, game_cfg)
self.version = CardMakerConstants.VER_CARD_MAKER_135 self.version = CardMakerConstants.VER_CARD_MAKER_135
def handle_get_game_connect_api_request(self, data: Dict) -> Dict:
ret = super().handle_get_game_connect_api_request(data)
if self.core_cfg.server.is_develop:
uri = f"http://{self.core_cfg.title.hostname}:{self.core_cfg.title.port}"
else:
uri = f"http://{self.core_cfg.title.hostname}"
ret["gameConnectList"][0]["titleUri"] = f"{uri}/SDHD/205/"
ret["gameConnectList"][1]["titleUri"] = f"{uri}/SDEZ/125/"
ret["gameConnectList"][2]["titleUri"] = f"{uri}/SDDT/135/"
return ret
def handle_get_game_setting_api_request(self, data: Dict) -> Dict: def handle_get_game_setting_api_request(self, data: Dict) -> Dict:
ret = super().handle_get_game_setting_api_request(data) ret = super().handle_get_game_setting_api_request(data)
ret["gameSetting"]["dataVersion"] = "1.35.00" ret["gameSetting"]["dataVersion"] = "1.35.00"
ret["gameSetting"]["ongekiCmVersion"] = "1.35.03"
ret["gameSetting"]["chuniCmVersion"] = "2.05.00"
ret["gameSetting"]["maimaiCmVersion"] = "1.25.00"
return ret return ret

View File

@ -1,3 +1,4 @@
from typing import Dict
from core.config import CoreConfig from core.config import CoreConfig
@ -20,6 +21,21 @@ class CardMakerServerConfig:
) )
class CardMakerVersionConfig:
def __init__(self, parent_config: "CardMakerConfig") -> None:
self.__config = parent_config
def version(self, version: int) -> Dict:
"""
in the form of:
1: {"ongeki": 1.30.01, "chuni": 2.00.00, "maimai": 1.20.00}
"""
return CoreConfig.get_config_field(
self.__config, "cardmaker", "version", default={}
)[version]
class CardMakerConfig(dict): class CardMakerConfig(dict):
def __init__(self) -> None: def __init__(self) -> None:
self.server = CardMakerServerConfig(self) self.server = CardMakerServerConfig(self)
self.version = CardMakerVersionConfig(self)

View File

@ -6,7 +6,7 @@ class CardMakerConstants:
VER_CARD_MAKER = 0 VER_CARD_MAKER = 0
VER_CARD_MAKER_135 = 1 VER_CARD_MAKER_135 = 1
VERSION_NAMES = ("Card Maker 1.34", "Card Maker 1.35") VERSION_NAMES = ("Card Maker 1.30", "Card Maker 1.35")
@classmethod @classmethod
def game_ver_to_string(cls, ver: int): def game_ver_to_string(cls, ver: int):

View File

@ -30,7 +30,7 @@ class CardMakerServlet:
self.versions = [ self.versions = [
CardMakerBase(core_cfg, self.game_cfg), CardMakerBase(core_cfg, self.game_cfg),
CardMaker135(core_cfg, self.game_cfg), CardMaker135(core_cfg, self.game_cfg)
] ]
self.logger = logging.getLogger("cardmaker") self.logger = logging.getLogger("cardmaker")
@ -89,7 +89,7 @@ class CardMakerServlet:
if version >= 130 and version < 135: # Card Maker if version >= 130 and version < 135: # Card Maker
internal_ver = CardMakerConstants.VER_CARD_MAKER internal_ver = CardMakerConstants.VER_CARD_MAKER
elif version >= 135 and version < 136: # Card Maker 1.35 elif version >= 135 and version < 140: # Card Maker 1.35
internal_ver = CardMakerConstants.VER_CARD_MAKER_135 internal_ver = CardMakerConstants.VER_CARD_MAKER_135
if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32: if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32:

View File

@ -2,7 +2,7 @@ import logging
import json import json
from decimal import Decimal from decimal import Decimal
from base64 import b64encode from base64 import b64encode
from typing import Any, Dict from typing import Any, Dict, List
from hashlib import md5 from hashlib import md5
from datetime import datetime from datetime import datetime
@ -416,7 +416,7 @@ class CxbBase:
self.logger.info(f"Get best rankings for {uid}") self.logger.info(f"Get best rankings for {uid}")
p = self.data.score.get_best_rankings(uid) p = self.data.score.get_best_rankings(uid)
rankList: list[Dict[str, Any]] = [] rankList: List[Dict[str, Any]] = []
for rank in p: for rank in p:
if rank["song_id"] is not None: if rank["song_id"] is not None:

View File

@ -103,7 +103,7 @@ class CxbServlet(resource.Resource):
else: else:
self.logger.info(f"Ready on port {self.game_cfg.server.port}") self.logger.info(f"Ready on port {self.game_cfg.server.port}")
def render_POST(self, request: Request): def render_POST(self, request: Request, version: int, endpoint: str):
version = 0 version = 0
internal_ver = 0 internal_ver = 0
func_to_find = "" func_to_find = ""

View File

@ -6,5 +6,14 @@ from titles.mai2.read import Mai2Reader
index = Mai2Servlet index = Mai2Servlet
database = Mai2Data database = Mai2Data
reader = Mai2Reader reader = Mai2Reader
game_codes = [Mai2Constants.GAME_CODE] game_codes = [
current_schema_version = 4 Mai2Constants.GAME_CODE_DX,
Mai2Constants.GAME_CODE_FINALE,
Mai2Constants.GAME_CODE_MILK,
Mai2Constants.GAME_CODE_MURASAKI,
Mai2Constants.GAME_CODE_PINK,
Mai2Constants.GAME_CODE_ORANGE,
Mai2Constants.GAME_CODE_GREEN,
Mai2Constants.GAME_CODE,
]
current_schema_version = 7

View File

@ -1,5 +1,5 @@
from datetime import datetime, date, timedelta from datetime import datetime, date, timedelta
from typing import Any, Dict from typing import Any, Dict, List
import logging import logging
from core.config import CoreConfig from core.config import CoreConfig
@ -12,40 +12,35 @@ class Mai2Base:
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
self.core_config = cfg self.core_config = cfg
self.game_config = game_cfg self.game_config = game_cfg
self.game = Mai2Constants.GAME_CODE self.version = Mai2Constants.VER_MAIMAI
self.version = Mai2Constants.VER_MAIMAI_DX
self.data = Mai2Data(cfg) self.data = Mai2Data(cfg)
self.logger = logging.getLogger("mai2") self.logger = logging.getLogger("mai2")
self.can_deliver = False
self.can_usbdl = False
self.old_server = ""
if self.core_config.server.is_develop and self.core_config.title.port > 0: if self.core_config.server.is_develop and self.core_config.title.port > 0:
self.old_server = f"http://{self.core_config.title.hostname}:{self.core_config.title.port}/SDEY/100/" self.old_server = f"http://{self.core_config.title.hostname}:{self.core_config.title.port}/SDEY/197/"
else: else:
self.old_server = f"http://{self.core_config.title.hostname}/SDEY/100/" self.old_server = f"http://{self.core_config.title.hostname}/SDEY/197/"
def handle_get_game_setting_api_request(self, data: Dict): def handle_get_game_setting_api_request(self, data: Dict):
# TODO: See if making this epoch 0 breaks things
reboot_start = date.strftime(
datetime.now() + timedelta(hours=3), Mai2Constants.DATE_TIME_FORMAT
)
reboot_end = date.strftime(
datetime.now() + timedelta(hours=4), Mai2Constants.DATE_TIME_FORMAT
)
return { return {
"isDevelop": False,
"isAouAccession": False,
"gameSetting": { "gameSetting": {
"isMaintenance": "false", "isMaintenance": False,
"requestInterval": 10, "requestInterval": 1800,
"rebootStartTime": reboot_start, "rebootStartTime": "2020-01-01 07:00:00.0",
"rebootEndTime": reboot_end, "rebootEndTime": "2020-01-01 07:59:59.0",
"movieUploadLimit": 10000, "movieUploadLimit": 100,
"movieStatus": 0, "movieStatus": 1,
"movieServerUri": "", "movieServerUri": self.old_server + "api/movie" if self.game_config.uploads.movies else "movie",
"deliverServerUri": "", "deliverServerUri": self.old_server + "deliver/" if self.can_deliver and self.game_config.deliver.enable else "",
"oldServerUri": self.old_server, "oldServerUri": self.old_server + "old",
"usbDlServerUri": "", "usbDlServerUri": self.old_server + "usbdl/" if self.can_deliver and self.game_config.deliver.udbdl_enable else "",
"rebootInterval": 0,
}, },
"isAouAccession": "true",
} }
def handle_get_game_ranking_api_request(self, data: Dict) -> Dict: def handle_get_game_ranking_api_request(self, data: Dict) -> Dict:
@ -58,7 +53,7 @@ class Mai2Base:
def handle_get_game_event_api_request(self, data: Dict) -> Dict: def handle_get_game_event_api_request(self, data: Dict) -> Dict:
events = self.data.static.get_enabled_events(self.version) events = self.data.static.get_enabled_events(self.version)
events_lst = [] events_lst = []
if events is None: if events is None or not events:
self.logger.warn("No enabled events, did you run the reader?") self.logger.warn("No enabled events, did you run the reader?")
return {"type": data["type"], "length": 0, "gameEventList": []} return {"type": data["type"], "length": 0, "gameEventList": []}
@ -117,43 +112,35 @@ class Mai2Base:
return {"returnCode": 1, "apiName": "UpsertClientTestmodeApi"} return {"returnCode": 1, "apiName": "UpsertClientTestmodeApi"}
def handle_get_user_preview_api_request(self, data: Dict) -> Dict: def handle_get_user_preview_api_request(self, data: Dict) -> Dict:
p = self.data.profile.get_profile_detail(data["userId"], self.version) p = self.data.profile.get_profile_detail(data["userId"], self.version, False)
o = self.data.profile.get_profile_option(data["userId"], self.version) w = self.data.profile.get_web_option(data["userId"], self.version)
if p is None or o is None: if p is None or w is None:
return {} # Register return {} # Register
profile = p._asdict() profile = p._asdict()
option = o._asdict() web_opt = w._asdict()
return { return {
"userId": data["userId"], "userId": data["userId"],
"userName": profile["userName"], "userName": profile["userName"],
"isLogin": False, "isLogin": False,
"lastGameId": profile["lastGameId"],
"lastDataVersion": profile["lastDataVersion"], "lastDataVersion": profile["lastDataVersion"],
"lastRomVersion": profile["lastRomVersion"], "lastLoginDate": profile["lastPlayDate"],
"lastLoginDate": profile["lastLoginDate"],
"lastPlayDate": profile["lastPlayDate"], "lastPlayDate": profile["lastPlayDate"],
"playerRating": profile["playerRating"], "playerRating": profile["playerRating"],
"nameplateId": 0, # Unused "nameplateId": profile["nameplateId"],
"iconId": profile["iconId"],
"trophyId": 0, # Unused
"partnerId": profile["partnerId"],
"frameId": profile["frameId"], "frameId": profile["frameId"],
"dispRate": option[ "iconId": profile["iconId"],
"dispRate" "trophyId": profile["trophyId"],
], # 0: all/begin, 1: disprate, 2: dispDan, 3: hide, 4: end "dispRate": web_opt["dispRate"], # 0: all, 1: dispRate, 2: dispDan, 3: hide
"totalAwake": profile["totalAwake"], "dispRank": web_opt["dispRank"],
"isNetMember": profile["isNetMember"], "dispHomeRanker": web_opt["dispHomeRanker"],
"dailyBonusDate": profile["dailyBonusDate"], "dispTotalLv": web_opt["dispTotalLv"],
"headPhoneVolume": option["headPhoneVolume"], "totalLv": profile["totalLv"],
"isInherit": False, # Not sure what this is or does??
"banState": profile["banState"]
if profile["banState"] is not None
else 0, # New with uni+
} }
def handle_user_login_api_request(self, data: Dict) -> Dict: def handle_user_login_api_request(self, data: Dict) -> Dict:
profile = self.data.profile.get_profile_detail(data["userId"], self.version) profile = self.data.profile.get_profile_detail(data["userId"], self.version)
consec = self.data.profile.get_consec_login(data["userId"], self.version)
if profile is not None: if profile is not None:
lastLoginDate = profile["lastLoginDate"] lastLoginDate = profile["lastLoginDate"]
@ -165,12 +152,31 @@ class Mai2Base:
loginCt = 0 loginCt = 0
lastLoginDate = "2017-12-05 07:00:00.0" lastLoginDate = "2017-12-05 07:00:00.0"
if consec is None or not consec:
consec_ct = 1
else:
lastlogindate_ = datetime.strptime(profile["lastLoginDate"], "%Y-%m-%d %H:%M:%S.%f").timestamp()
today_midnight = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp()
yesterday_midnight = today_midnight - 86400
if lastlogindate_ < today_midnight:
consec_ct = consec['logins'] + 1
self.data.profile.add_consec_login(data["userId"], self.version)
elif lastlogindate_ < yesterday_midnight:
consec_ct = 1
self.data.profile.reset_consec_login(data["userId"], self.version)
else:
consec_ct = consec['logins']
return { return {
"returnCode": 1, "returnCode": 1,
"lastLoginDate": lastLoginDate, "lastLoginDate": lastLoginDate,
"loginCount": loginCt, "loginCount": loginCt,
"consecutiveLoginCount": 0, # We don't really have a way to track this... "consecutiveLoginCount": consec_ct, # Number of consecutive days we've logged in.
"loginId": loginCt, # Used with the playlog!
} }
def handle_upload_user_playlog_api_request(self, data: Dict) -> Dict: def handle_upload_user_playlog_api_request(self, data: Dict) -> Dict:
@ -202,12 +208,35 @@ class Mai2Base:
upsert = data["upsertUserAll"] upsert = data["upsertUserAll"]
if "userData" in upsert and len(upsert["userData"]) > 0: if "userData" in upsert and len(upsert["userData"]) > 0:
upsert["userData"][0]["isNetMember"] = 1
upsert["userData"][0].pop("accessCode") upsert["userData"][0].pop("accessCode")
upsert["userData"][0].pop("userId")
self.data.profile.put_profile_detail( self.data.profile.put_profile_detail(
user_id, self.version, upsert["userData"][0] user_id, self.version, upsert["userData"][0], False
) )
if "userWebOption" in upsert and len(upsert["userWebOption"]) > 0:
upsert["userWebOption"][0]["isNetMember"] = True
self.data.profile.put_web_option(
user_id, self.version, upsert["userWebOption"][0]
)
if "userGradeStatusList" in upsert and len(upsert["userGradeStatusList"]) > 0:
self.data.profile.put_grade_status(
user_id, upsert["userGradeStatusList"][0]
)
if "userBossList" in upsert and len(upsert["userBossList"]) > 0:
self.data.profile.put_boss_list(
user_id, upsert["userBossList"][0]
)
if "userPlaylogList" in upsert and len(upsert["userPlaylogList"]) > 0:
for playlog in upsert["userPlaylogList"]:
self.data.score.put_playlog(
user_id, playlog, False
)
if "userExtend" in upsert and len(upsert["userExtend"]) > 0: if "userExtend" in upsert and len(upsert["userExtend"]) > 0:
self.data.profile.put_profile_extend( self.data.profile.put_profile_extend(
user_id, self.version, upsert["userExtend"][0] user_id, self.version, upsert["userExtend"][0]
@ -215,11 +244,15 @@ class Mai2Base:
if "userGhost" in upsert: if "userGhost" in upsert:
for ghost in upsert["userGhost"]: for ghost in upsert["userGhost"]:
self.data.profile.put_profile_extend(user_id, self.version, ghost) self.data.profile.put_profile_ghost(user_id, self.version, ghost)
if "userRecentRatingList" in upsert:
self.data.profile.put_recent_rating(user_id, upsert["userRecentRatingList"])
if "userOption" in upsert and len(upsert["userOption"]) > 0: if "userOption" in upsert and len(upsert["userOption"]) > 0:
upsert["userOption"][0].pop("userId")
self.data.profile.put_profile_option( self.data.profile.put_profile_option(
user_id, self.version, upsert["userOption"][0] user_id, self.version, upsert["userOption"][0], False
) )
if "userRatingList" in upsert and len(upsert["userRatingList"]) > 0: if "userRatingList" in upsert and len(upsert["userRatingList"]) > 0:
@ -228,9 +261,8 @@ class Mai2Base:
) )
if "userActivityList" in upsert and len(upsert["userActivityList"]) > 0: if "userActivityList" in upsert and len(upsert["userActivityList"]) > 0:
for k, v in upsert["userActivityList"][0].items(): for act in upsert["userActivityList"]:
for act in v: self.data.profile.put_profile_activity(user_id, act)
self.data.profile.put_profile_activity(user_id, act)
if "userChargeList" in upsert and len(upsert["userChargeList"]) > 0: if "userChargeList" in upsert and len(upsert["userChargeList"]) > 0:
for charge in upsert["userChargeList"]: for charge in upsert["userChargeList"]:
@ -250,12 +282,9 @@ class Mai2Base:
if "userCharacterList" in upsert and len(upsert["userCharacterList"]) > 0: if "userCharacterList" in upsert and len(upsert["userCharacterList"]) > 0:
for char in upsert["userCharacterList"]: for char in upsert["userCharacterList"]:
self.data.item.put_character( self.data.item.put_character_(
user_id, user_id,
char["characterId"], char
char["level"],
char["awakening"],
char["useCount"],
) )
if "userItemList" in upsert and len(upsert["userItemList"]) > 0: if "userItemList" in upsert and len(upsert["userItemList"]) > 0:
@ -265,7 +294,7 @@ class Mai2Base:
int(item["itemKind"]), int(item["itemKind"]),
item["itemId"], item["itemId"],
item["stock"], item["stock"],
item["isValid"], True
) )
if "userLoginBonusList" in upsert and len(upsert["userLoginBonusList"]) > 0: if "userLoginBonusList" in upsert and len(upsert["userLoginBonusList"]) > 0:
@ -291,7 +320,7 @@ class Mai2Base:
if "userMusicDetailList" in upsert and len(upsert["userMusicDetailList"]) > 0: if "userMusicDetailList" in upsert and len(upsert["userMusicDetailList"]) > 0:
for music in upsert["userMusicDetailList"]: for music in upsert["userMusicDetailList"]:
self.data.score.put_best_score(user_id, music) self.data.score.put_best_score(user_id, music, False)
if "userCourseList" in upsert and len(upsert["userCourseList"]) > 0: if "userCourseList" in upsert and len(upsert["userCourseList"]) > 0:
for course in upsert["userCourseList"]: for course in upsert["userCourseList"]:
@ -319,7 +348,7 @@ class Mai2Base:
return {"returnCode": 1} return {"returnCode": 1}
def handle_get_user_data_api_request(self, data: Dict) -> Dict: def handle_get_user_data_api_request(self, data: Dict) -> Dict:
profile = self.data.profile.get_profile_detail(data["userId"], self.version) profile = self.data.profile.get_profile_detail(data["userId"], self.version, False)
if profile is None: if profile is None:
return return
@ -343,7 +372,7 @@ class Mai2Base:
return {"userId": data["userId"], "userExtend": extend_dict} return {"userId": data["userId"], "userExtend": extend_dict}
def handle_get_user_option_api_request(self, data: Dict) -> Dict: def handle_get_user_option_api_request(self, data: Dict) -> Dict:
options = self.data.profile.get_profile_option(data["userId"], self.version) options = self.data.profile.get_profile_option(data["userId"], self.version, False)
if options is None: if options is None:
return return
@ -413,12 +442,31 @@ class Mai2Base:
"userChargeList": user_charge_list, "userChargeList": user_charge_list,
} }
def handle_get_user_present_api_request(self, data: Dict) -> Dict:
return { "userId": data.get("userId", 0), "length": 0, "userPresentList": []}
def handle_get_transfer_friend_api_request(self, data: Dict) -> Dict:
return {}
def handle_get_user_present_event_api_request(self, data: Dict) -> Dict:
return { "userId": data.get("userId", 0), "length": 0, "userPresentEventList": []}
def handle_get_user_boss_api_request(self, data: Dict) -> Dict:
b = self.data.profile.get_boss_list(data["userId"])
if b is None:
return { "userId": data.get("userId", 0), "userBossData": {}}
boss_lst = b._asdict()
boss_lst.pop("id")
boss_lst.pop("user")
return { "userId": data.get("userId", 0), "userBossData": boss_lst}
def handle_get_user_item_api_request(self, data: Dict) -> Dict: def handle_get_user_item_api_request(self, data: Dict) -> Dict:
kind = int(data["nextIndex"] / 10000000000) kind = int(data["nextIndex"] / 10000000000)
next_idx = int(data["nextIndex"] % 10000000000) next_idx = int(data["nextIndex"] % 10000000000)
user_item_list = self.data.item.get_items(data["userId"], kind) user_item_list = self.data.item.get_items(data["userId"], kind)
items: list[Dict[str, Any]] = [] items: List[Dict[str, Any]] = []
for i in range(next_idx, len(user_item_list)): for i in range(next_idx, len(user_item_list)):
tmp = user_item_list[i]._asdict() tmp = user_item_list[i]._asdict()
tmp.pop("user") tmp.pop("user")
@ -449,6 +497,8 @@ class Mai2Base:
tmp = chara._asdict() tmp = chara._asdict()
tmp.pop("id") tmp.pop("id")
tmp.pop("user") tmp.pop("user")
tmp.pop("awakening")
tmp.pop("useCount")
chara_list.append(tmp) chara_list.append(tmp)
return {"userId": data["userId"], "userCharacterList": chara_list} return {"userId": data["userId"], "userCharacterList": chara_list}
@ -482,6 +532,16 @@ class Mai2Base:
return {"userId": data["userId"], "userGhost": ghost_dict} return {"userId": data["userId"], "userGhost": ghost_dict}
def handle_get_user_recent_rating_api_request(self, data: Dict) -> Dict:
rating = self.data.profile.get_recent_rating(data["userId"])
if rating is None:
return
r = rating._asdict()
lst = r.get("userRecentRatingList", [])
return {"userId": data["userId"], "length": len(lst), "userRecentRatingList": lst}
def handle_get_user_rating_api_request(self, data: Dict) -> Dict: def handle_get_user_rating_api_request(self, data: Dict) -> Dict:
rating = self.data.profile.get_profile_rating(data["userId"], self.version) rating = self.data.profile.get_profile_rating(data["userId"], self.version)
if rating is None: if rating is None:
@ -645,24 +705,72 @@ class Mai2Base:
def handle_get_user_region_api_request(self, data: Dict) -> Dict: def handle_get_user_region_api_request(self, data: Dict) -> Dict:
return {"userId": data["userId"], "length": 0, "userRegionList": []} return {"userId": data["userId"], "length": 0, "userRegionList": []}
def handle_get_user_web_option_api_request(self, data: Dict) -> Dict:
w = self.data.profile.get_web_option(data["userId"], self.version)
if w is None:
return {"userId": data["userId"], "userWebOption": {}}
web_opt = w._asdict()
web_opt.pop("id")
web_opt.pop("user")
web_opt.pop("version")
return {"userId": data["userId"], "userWebOption": web_opt}
def handle_get_user_survival_api_request(self, data: Dict) -> Dict:
return {"userId": data["userId"], "length": 0, "userSurvivalList": []}
def handle_get_user_grade_api_request(self, data: Dict) -> Dict:
g = self.data.profile.get_grade_status(data["userId"])
if g is None:
return {"userId": data["userId"], "userGradeStatus": {}, "length": 0, "userGradeList": []}
grade_stat = g._asdict()
grade_stat.pop("id")
grade_stat.pop("user")
return {"userId": data["userId"], "userGradeStatus": grade_stat, "length": 0, "userGradeList": []}
def handle_get_user_music_api_request(self, data: Dict) -> Dict: def handle_get_user_music_api_request(self, data: Dict) -> Dict:
songs = self.data.score.get_best_scores(data["userId"]) user_id = data.get("userId", 0)
next_index = data.get("nextIndex", 0)
max_ct = data.get("maxCount", 50)
upper_lim = next_index + max_ct
music_detail_list = [] music_detail_list = []
next_index = 0
if songs is not None: if user_id <= 0:
for song in songs: self.logger.warn("handle_get_user_music_api_request: Could not find userid in data, or userId is 0")
tmp = song._asdict() return {}
tmp.pop("id")
tmp.pop("user")
music_detail_list.append(tmp)
if len(music_detail_list) == data["maxCount"]: songs = self.data.score.get_best_scores(user_id, is_dx=False)
next_index = data["maxCount"] + data["nextIndex"] if songs is None:
break self.logger.debug("handle_get_user_music_api_request: get_best_scores returned None!")
return {
"userId": data["userId"],
"nextIndex": 0,
"userMusicList": [],
}
num_user_songs = len(songs)
for x in range(next_index, upper_lim):
if num_user_songs <= x:
break
tmp = songs[x]._asdict()
tmp.pop("id")
tmp.pop("user")
music_detail_list.append(tmp)
next_index = 0 if len(music_detail_list) < max_ct or num_user_songs == upper_lim else upper_lim
self.logger.info(f"Send songs {next_index}-{upper_lim} ({len(music_detail_list)}) out of {num_user_songs} for user {user_id} (next idx {next_index})")
return { return {
"userId": data["userId"], "userId": data["userId"],
"nextIndex": next_index, "nextIndex": next_index,
"userMusicList": [{"userMusicDetailList": music_detail_list}], "userMusicList": [{"userMusicDetailList": music_detail_list}],
} }
def handle_upload_user_portrait_api_request(self, data: Dict) -> Dict:
self.logger.debug(data)
def handle_upload_user_photo_api_request(self, data: Dict) -> Dict:
self.logger.debug(data)

View File

@ -19,7 +19,59 @@ class Mai2ServerConfig:
) )
) )
class Mai2DeliverConfig:
def __init__(self, parent: "Mai2Config") -> None:
self.__config = parent
@property
def enable(self) -> bool:
return CoreConfig.get_config_field(
self.__config, "mai2", "deliver", "enable", default=False
)
@property
def udbdl_enable(self) -> bool:
return CoreConfig.get_config_field(
self.__config, "mai2", "deliver", "udbdl_enable", default=False
)
@property
def content_folder(self) -> int:
return CoreConfig.get_config_field(
self.__config, "mai2", "server", "content_folder", default=""
)
class Mai2UploadsConfig:
def __init__(self, parent: "Mai2Config") -> None:
self.__config = parent
@property
def photos(self) -> bool:
return CoreConfig.get_config_field(
self.__config, "mai2", "uploads", "photos", default=False
)
@property
def photos_dir(self) -> str:
return CoreConfig.get_config_field(
self.__config, "mai2", "uploads", "photos_dir", default=""
)
@property
def movies(self) -> bool:
return CoreConfig.get_config_field(
self.__config, "mai2", "uploads", "movies", default=False
)
@property
def movies_dir(self) -> str:
return CoreConfig.get_config_field(
self.__config, "mai2", "uploads", "movies_dir", default=""
)
class Mai2Config(dict): class Mai2Config(dict):
def __init__(self) -> None: def __init__(self) -> None:
self.server = Mai2ServerConfig(self) self.server = Mai2ServerConfig(self)
self.deliver = Mai2DeliverConfig(self)
self.uploads = Mai2UploadsConfig(self)

View File

@ -20,19 +20,53 @@ class Mai2Constants:
DATE_TIME_FORMAT = "%Y-%m-%d %H:%M:%S" DATE_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
GAME_CODE = "SDEZ" GAME_CODE = "SBXL"
GAME_CODE_GREEN = "SBZF"
GAME_CODE_ORANGE = "SDBM"
GAME_CODE_PINK = "SDCQ"
GAME_CODE_MURASAKI = "SDDK"
GAME_CODE_MILK = "SDDZ"
GAME_CODE_FINALE = "SDEY"
GAME_CODE_DX = "SDEZ"
CONFIG_NAME = "mai2.yaml" CONFIG_NAME = "mai2.yaml"
VER_MAIMAI_DX = 0 VER_MAIMAI = 0
VER_MAIMAI_DX_PLUS = 1 VER_MAIMAI_PLUS = 1
VER_MAIMAI_DX_SPLASH = 2 VER_MAIMAI_GREEN = 2
VER_MAIMAI_DX_SPLASH_PLUS = 3 VER_MAIMAI_GREEN_PLUS = 3
VER_MAIMAI_DX_UNIVERSE = 4 VER_MAIMAI_ORANGE = 4
VER_MAIMAI_DX_UNIVERSE_PLUS = 5 VER_MAIMAI_ORANGE_PLUS = 5
VER_MAIMAI_DX_FESTIVAL = 6 VER_MAIMAI_PINK = 6
VER_MAIMAI_PINK_PLUS = 7
VER_MAIMAI_MURASAKI = 8
VER_MAIMAI_MURASAKI_PLUS = 9
VER_MAIMAI_MILK = 10
VER_MAIMAI_MILK_PLUS = 11
VER_MAIMAI_FINALE = 12
VER_MAIMAI_DX = 13
VER_MAIMAI_DX_PLUS = 14
VER_MAIMAI_DX_SPLASH = 15
VER_MAIMAI_DX_SPLASH_PLUS = 16
VER_MAIMAI_DX_UNIVERSE = 17
VER_MAIMAI_DX_UNIVERSE_PLUS = 18
VER_MAIMAI_DX_FESTIVAL = 19
VERSION_STRING = ( VERSION_STRING = (
"maimai",
"maimai PLUS",
"maimai GreeN",
"maimai GreeN PLUS",
"maimai ORANGE",
"maimai ORANGE PLUS",
"maimai PiNK",
"maimai PiNK PLUS",
"maimai MURASAKi",
"maimai MURASAKi PLUS",
"maimai MiLK",
"maimai MiLK PLUS",
"maimai FiNALE",
"maimai DX", "maimai DX",
"maimai DX PLUS", "maimai DX PLUS",
"maimai DX Splash", "maimai DX Splash",

743
titles/mai2/dx.py Normal file
View File

@ -0,0 +1,743 @@
from typing import Any, List, Dict
from datetime import datetime, timedelta
import pytz
import json
from random import randint
from core.config import CoreConfig
from titles.mai2.base import Mai2Base
from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants
class Mai2DX(Mai2Base):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX
if self.core_config.server.is_develop and self.core_config.title.port > 0:
self.old_server = f"http://{self.core_config.title.hostname}:{self.core_config.title.port}/SDEZ/100/"
else:
self.old_server = f"http://{self.core_config.title.hostname}/SDEZ/100/"
def handle_get_game_setting_api_request(self, data: Dict):
return {
"gameSetting": {
"isMaintenance": False,
"requestInterval": 1800,
"rebootStartTime": "2020-01-01 07:00:00.0",
"rebootEndTime": "2020-01-01 07:59:59.0",
"movieUploadLimit": 100,
"movieStatus": 1,
"movieServerUri": self.old_server + "movie/",
"deliverServerUri": self.old_server + "deliver/" if self.can_deliver and self.game_config.deliver.enable else "",
"oldServerUri": self.old_server + "old",
"usbDlServerUri": self.old_server + "usbdl/" if self.can_deliver and self.game_config.deliver.udbdl_enable else "",
"rebootInterval": 0,
},
"isAouAccession": False,
}
def handle_get_user_preview_api_request(self, data: Dict) -> Dict:
p = self.data.profile.get_profile_detail(data["userId"], self.version)
o = self.data.profile.get_profile_option(data["userId"], self.version)
if p is None or o is None:
return {} # Register
profile = p._asdict()
option = o._asdict()
return {
"userId": data["userId"],
"userName": profile["userName"],
"isLogin": False,
"lastGameId": profile["lastGameId"],
"lastDataVersion": profile["lastDataVersion"],
"lastRomVersion": profile["lastRomVersion"],
"lastLoginDate": profile["lastLoginDate"],
"lastPlayDate": profile["lastPlayDate"],
"playerRating": profile["playerRating"],
"nameplateId": 0, # Unused
"iconId": profile["iconId"],
"trophyId": 0, # Unused
"partnerId": profile["partnerId"],
"frameId": profile["frameId"],
"dispRate": option[
"dispRate"
], # 0: all/begin, 1: disprate, 2: dispDan, 3: hide, 4: end
"totalAwake": profile["totalAwake"],
"isNetMember": profile["isNetMember"],
"dailyBonusDate": profile["dailyBonusDate"],
"headPhoneVolume": option["headPhoneVolume"],
"isInherit": False, # Not sure what this is or does??
"banState": profile["banState"]
if profile["banState"] is not None
else 0, # New with uni+
}
def handle_upload_user_playlog_api_request(self, data: Dict) -> Dict:
user_id = data["userId"]
playlog = data["userPlaylog"]
self.data.score.put_playlog(user_id, playlog)
return {"returnCode": 1, "apiName": "UploadUserPlaylogApi"}
def handle_upsert_user_chargelog_api_request(self, data: Dict) -> Dict:
user_id = data["userId"]
charge = data["userCharge"]
# remove the ".0" from the date string, festival only?
charge["purchaseDate"] = charge["purchaseDate"].replace(".0", "")
self.data.item.put_charge(
user_id,
charge["chargeId"],
charge["stock"],
datetime.strptime(charge["purchaseDate"], Mai2Constants.DATE_TIME_FORMAT),
datetime.strptime(charge["validDate"], Mai2Constants.DATE_TIME_FORMAT),
)
return {"returnCode": 1, "apiName": "UpsertUserChargelogApi"}
def handle_upsert_user_all_api_request(self, data: Dict) -> Dict:
user_id = data["userId"]
upsert = data["upsertUserAll"]
if "userData" in upsert and len(upsert["userData"]) > 0:
upsert["userData"][0]["isNetMember"] = 1
upsert["userData"][0].pop("accessCode")
self.data.profile.put_profile_detail(
user_id, self.version, upsert["userData"][0]
)
if "userExtend" in upsert and len(upsert["userExtend"]) > 0:
self.data.profile.put_profile_extend(
user_id, self.version, upsert["userExtend"][0]
)
if "userGhost" in upsert:
for ghost in upsert["userGhost"]:
self.data.profile.put_profile_extend(user_id, self.version, ghost)
if "userOption" in upsert and len(upsert["userOption"]) > 0:
self.data.profile.put_profile_option(
user_id, self.version, upsert["userOption"][0]
)
if "userRatingList" in upsert and len(upsert["userRatingList"]) > 0:
self.data.profile.put_profile_rating(
user_id, self.version, upsert["userRatingList"][0]
)
if "userActivityList" in upsert and len(upsert["userActivityList"]) > 0:
for k, v in upsert["userActivityList"][0].items():
for act in v:
self.data.profile.put_profile_activity(user_id, act)
if "userChargeList" in upsert and len(upsert["userChargeList"]) > 0:
for charge in upsert["userChargeList"]:
# remove the ".0" from the date string, festival only?
charge["purchaseDate"] = charge["purchaseDate"].replace(".0", "")
self.data.item.put_charge(
user_id,
charge["chargeId"],
charge["stock"],
datetime.strptime(
charge["purchaseDate"], Mai2Constants.DATE_TIME_FORMAT
),
datetime.strptime(
charge["validDate"], Mai2Constants.DATE_TIME_FORMAT
),
)
if "userCharacterList" in upsert and len(upsert["userCharacterList"]) > 0:
for char in upsert["userCharacterList"]:
self.data.item.put_character(
user_id,
char["characterId"],
char["level"],
char["awakening"],
char["useCount"],
)
if "userItemList" in upsert and len(upsert["userItemList"]) > 0:
for item in upsert["userItemList"]:
self.data.item.put_item(
user_id,
int(item["itemKind"]),
item["itemId"],
item["stock"],
item["isValid"],
)
if "userLoginBonusList" in upsert and len(upsert["userLoginBonusList"]) > 0:
for login_bonus in upsert["userLoginBonusList"]:
self.data.item.put_login_bonus(
user_id,
login_bonus["bonusId"],
login_bonus["point"],
login_bonus["isCurrent"],
login_bonus["isComplete"],
)
if "userMapList" in upsert and len(upsert["userMapList"]) > 0:
for map in upsert["userMapList"]:
self.data.item.put_map(
user_id,
map["mapId"],
map["distance"],
map["isLock"],
map["isClear"],
map["isComplete"],
)
if "userMusicDetailList" in upsert and len(upsert["userMusicDetailList"]) > 0:
for music in upsert["userMusicDetailList"]:
self.data.score.put_best_score(user_id, music)
if "userCourseList" in upsert and len(upsert["userCourseList"]) > 0:
for course in upsert["userCourseList"]:
self.data.score.put_course(user_id, course)
if "userFavoriteList" in upsert and len(upsert["userFavoriteList"]) > 0:
for fav in upsert["userFavoriteList"]:
self.data.item.put_favorite(user_id, fav["kind"], fav["itemIdList"])
if (
"userFriendSeasonRankingList" in upsert
and len(upsert["userFriendSeasonRankingList"]) > 0
):
for fsr in upsert["userFriendSeasonRankingList"]:
fsr["recordDate"] = (
datetime.strptime(
fsr["recordDate"], f"{Mai2Constants.DATE_TIME_FORMAT}.0"
),
)
self.data.item.put_friend_season_ranking(user_id, fsr)
return {"returnCode": 1, "apiName": "UpsertUserAllApi"}
def handle_user_logout_api_request(self, data: Dict) -> Dict:
return {"returnCode": 1}
def handle_get_user_data_api_request(self, data: Dict) -> Dict:
profile = self.data.profile.get_profile_detail(data["userId"], self.version)
if profile is None:
return
profile_dict = profile._asdict()
profile_dict.pop("id")
profile_dict.pop("user")
profile_dict.pop("version")
return {"userId": data["userId"], "userData": profile_dict}
def handle_get_user_extend_api_request(self, data: Dict) -> Dict:
extend = self.data.profile.get_profile_extend(data["userId"], self.version)
if extend is None:
return
extend_dict = extend._asdict()
extend_dict.pop("id")
extend_dict.pop("user")
extend_dict.pop("version")
return {"userId": data["userId"], "userExtend": extend_dict}
def handle_get_user_option_api_request(self, data: Dict) -> Dict:
options = self.data.profile.get_profile_option(data["userId"], self.version)
if options is None:
return
options_dict = options._asdict()
options_dict.pop("id")
options_dict.pop("user")
options_dict.pop("version")
return {"userId": data["userId"], "userOption": options_dict}
def handle_get_user_card_api_request(self, data: Dict) -> Dict:
user_cards = self.data.item.get_cards(data["userId"])
if user_cards is None:
return {"userId": data["userId"], "nextIndex": 0, "userCardList": []}
max_ct = data["maxCount"]
next_idx = data["nextIndex"]
start_idx = next_idx
end_idx = max_ct + start_idx
if len(user_cards[start_idx:]) > max_ct:
next_idx += max_ct
else:
next_idx = 0
card_list = []
for card in user_cards:
tmp = card._asdict()
tmp.pop("id")
tmp.pop("user")
tmp["startDate"] = datetime.strftime(
tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
)
tmp["endDate"] = datetime.strftime(
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
)
card_list.append(tmp)
return {
"userId": data["userId"],
"nextIndex": next_idx,
"userCardList": card_list[start_idx:end_idx],
}
def handle_get_user_charge_api_request(self, data: Dict) -> Dict:
user_charges = self.data.item.get_charges(data["userId"])
if user_charges is None:
return {"userId": data["userId"], "length": 0, "userChargeList": []}
user_charge_list = []
for charge in user_charges:
tmp = charge._asdict()
tmp.pop("id")
tmp.pop("user")
tmp["purchaseDate"] = datetime.strftime(
tmp["purchaseDate"], Mai2Constants.DATE_TIME_FORMAT
)
tmp["validDate"] = datetime.strftime(
tmp["validDate"], Mai2Constants.DATE_TIME_FORMAT
)
user_charge_list.append(tmp)
return {
"userId": data["userId"],
"length": len(user_charge_list),
"userChargeList": user_charge_list,
}
def handle_get_user_item_api_request(self, data: Dict) -> Dict:
kind = int(data["nextIndex"] / 10000000000)
next_idx = int(data["nextIndex"] % 10000000000)
user_item_list = self.data.item.get_items(data["userId"], kind)
items: List[Dict[str, Any]] = []
for i in range(next_idx, len(user_item_list)):
tmp = user_item_list[i]._asdict()
tmp.pop("user")
tmp.pop("id")
items.append(tmp)
if len(items) >= int(data["maxCount"]):
break
xout = kind * 10000000000 + next_idx + len(items)
if len(items) < int(data["maxCount"]):
next_idx = 0
else:
next_idx = xout
return {
"userId": data["userId"],
"nextIndex": next_idx,
"itemKind": kind,
"userItemList": items,
}
def handle_get_user_character_api_request(self, data: Dict) -> Dict:
characters = self.data.item.get_characters(data["userId"])
chara_list = []
for chara in characters:
tmp = chara._asdict()
tmp.pop("id")
tmp.pop("user")
chara_list.append(tmp)
return {"userId": data["userId"], "userCharacterList": chara_list}
def handle_get_user_favorite_api_request(self, data: Dict) -> Dict:
favorites = self.data.item.get_favorites(data["userId"], data["itemKind"])
if favorites is None:
return
userFavs = []
for fav in favorites:
userFavs.append(
{
"userId": data["userId"],
"itemKind": fav["itemKind"],
"itemIdList": fav["itemIdList"],
}
)
return {"userId": data["userId"], "userFavoriteData": userFavs}
def handle_get_user_ghost_api_request(self, data: Dict) -> Dict:
ghost = self.data.profile.get_profile_ghost(data["userId"], self.version)
if ghost is None:
return
ghost_dict = ghost._asdict()
ghost_dict.pop("user")
ghost_dict.pop("id")
ghost_dict.pop("version_int")
return {"userId": data["userId"], "userGhost": ghost_dict}
def handle_get_user_rating_api_request(self, data: Dict) -> Dict:
rating = self.data.profile.get_profile_rating(data["userId"], self.version)
if rating is None:
return
rating_dict = rating._asdict()
rating_dict.pop("user")
rating_dict.pop("id")
rating_dict.pop("version")
return {"userId": data["userId"], "userRating": rating_dict}
def handle_get_user_activity_api_request(self, data: Dict) -> Dict:
"""
kind 1 is playlist, kind 2 is music list
"""
playlist = self.data.profile.get_profile_activity(data["userId"], 1)
musiclist = self.data.profile.get_profile_activity(data["userId"], 2)
if playlist is None or musiclist is None:
return
plst = []
mlst = []
for play in playlist:
tmp = play._asdict()
tmp["id"] = tmp["activityId"]
tmp.pop("activityId")
tmp.pop("user")
plst.append(tmp)
for music in musiclist:
tmp = music._asdict()
tmp["id"] = tmp["activityId"]
tmp.pop("activityId")
tmp.pop("user")
mlst.append(tmp)
return {"userActivity": {"playList": plst, "musicList": mlst}}
def handle_get_user_course_api_request(self, data: Dict) -> Dict:
user_courses = self.data.score.get_courses(data["userId"])
if user_courses is None:
return {"userId": data["userId"], "nextIndex": 0, "userCourseList": []}
course_list = []
for course in user_courses:
tmp = course._asdict()
tmp.pop("user")
tmp.pop("id")
course_list.append(tmp)
return {"userId": data["userId"], "nextIndex": 0, "userCourseList": course_list}
def handle_get_user_portrait_api_request(self, data: Dict) -> Dict:
# No support for custom pfps
return {"length": 0, "userPortraitList": []}
def handle_get_user_friend_season_ranking_api_request(self, data: Dict) -> Dict:
friend_season_ranking = self.data.item.get_friend_season_ranking(data["userId"])
if friend_season_ranking is None:
return {
"userId": data["userId"],
"nextIndex": 0,
"userFriendSeasonRankingList": [],
}
friend_season_ranking_list = []
next_idx = int(data["nextIndex"])
max_ct = int(data["maxCount"])
for x in range(next_idx, len(friend_season_ranking)):
tmp = friend_season_ranking[x]._asdict()
tmp.pop("user")
tmp.pop("id")
tmp["recordDate"] = datetime.strftime(
tmp["recordDate"], f"{Mai2Constants.DATE_TIME_FORMAT}.0"
)
friend_season_ranking_list.append(tmp)
if len(friend_season_ranking_list) >= max_ct:
break
if len(friend_season_ranking) >= next_idx + max_ct:
next_idx += max_ct
else:
next_idx = 0
return {
"userId": data["userId"],
"nextIndex": next_idx,
"userFriendSeasonRankingList": friend_season_ranking_list,
}
def handle_get_user_map_api_request(self, data: Dict) -> Dict:
maps = self.data.item.get_maps(data["userId"])
if maps is None:
return {
"userId": data["userId"],
"nextIndex": 0,
"userMapList": [],
}
map_list = []
next_idx = int(data["nextIndex"])
max_ct = int(data["maxCount"])
for x in range(next_idx, len(maps)):
tmp = maps[x]._asdict()
tmp.pop("user")
tmp.pop("id")
map_list.append(tmp)
if len(map_list) >= max_ct:
break
if len(maps) >= next_idx + max_ct:
next_idx += max_ct
else:
next_idx = 0
return {
"userId": data["userId"],
"nextIndex": next_idx,
"userMapList": map_list,
}
def handle_get_user_login_bonus_api_request(self, data: Dict) -> Dict:
login_bonuses = self.data.item.get_login_bonuses(data["userId"])
if login_bonuses is None:
return {
"userId": data["userId"],
"nextIndex": 0,
"userLoginBonusList": [],
}
login_bonus_list = []
next_idx = int(data["nextIndex"])
max_ct = int(data["maxCount"])
for x in range(next_idx, len(login_bonuses)):
tmp = login_bonuses[x]._asdict()
tmp.pop("user")
tmp.pop("id")
login_bonus_list.append(tmp)
if len(login_bonus_list) >= max_ct:
break
if len(login_bonuses) >= next_idx + max_ct:
next_idx += max_ct
else:
next_idx = 0
return {
"userId": data["userId"],
"nextIndex": next_idx,
"userLoginBonusList": login_bonus_list,
}
def handle_get_user_region_api_request(self, data: Dict) -> Dict:
return {"userId": data["userId"], "length": 0, "userRegionList": []}
def handle_get_user_music_api_request(self, data: Dict) -> Dict:
songs = self.data.score.get_best_scores(data["userId"])
music_detail_list = []
next_index = 0
if songs is not None:
for song in songs:
tmp = song._asdict()
tmp.pop("id")
tmp.pop("user")
music_detail_list.append(tmp)
if len(music_detail_list) == data["maxCount"]:
next_index = data["maxCount"] + data["nextIndex"]
break
return {
"userId": data["userId"],
"nextIndex": next_index,
"userMusicList": [{"userMusicDetailList": music_detail_list}],
}
def handle_cm_get_user_preview_api_request(self, data: Dict) -> Dict:
p = self.data.profile.get_profile_detail(data["userId"], self.version)
if p is None:
return {}
return {
"userName": p["userName"],
"rating": p["playerRating"],
# hardcode lastDataVersion for CardMaker 1.34
"lastDataVersion": "1.20.00",
"isLogin": False,
"isExistSellingCard": False,
}
def handle_cm_get_user_data_api_request(self, data: Dict) -> Dict:
# user already exists, because the preview checks that already
p = self.data.profile.get_profile_detail(data["userId"], self.version)
cards = self.data.card.get_user_cards(data["userId"])
if cards is None or len(cards) == 0:
# This should never happen
self.logger.error(
f"handle_get_user_data_api_request: Internal error - No cards found for user id {data['userId']}"
)
return {}
# get the dict representation of the row so we can modify values
user_data = p._asdict()
# remove the values the game doesn't want
user_data.pop("id")
user_data.pop("user")
user_data.pop("version")
return {"userId": data["userId"], "userData": user_data}
def handle_cm_login_api_request(self, data: Dict) -> Dict:
return {"returnCode": 1}
def handle_cm_logout_api_request(self, data: Dict) -> Dict:
return {"returnCode": 1}
def handle_cm_get_selling_card_api_request(self, data: Dict) -> Dict:
selling_cards = self.data.static.get_enabled_cards(self.version)
if selling_cards is None:
return {"length": 0, "sellingCardList": []}
selling_card_list = []
for card in selling_cards:
tmp = card._asdict()
tmp.pop("id")
tmp.pop("version")
tmp.pop("cardName")
tmp.pop("enabled")
tmp["startDate"] = datetime.strftime(tmp["startDate"], "%Y-%m-%d %H:%M:%S")
tmp["endDate"] = datetime.strftime(tmp["endDate"], "%Y-%m-%d %H:%M:%S")
tmp["noticeStartDate"] = datetime.strftime(
tmp["noticeStartDate"], "%Y-%m-%d %H:%M:%S"
)
tmp["noticeEndDate"] = datetime.strftime(
tmp["noticeEndDate"], "%Y-%m-%d %H:%M:%S"
)
selling_card_list.append(tmp)
return {"length": len(selling_card_list), "sellingCardList": selling_card_list}
def handle_cm_get_user_card_api_request(self, data: Dict) -> Dict:
user_cards = self.data.item.get_cards(data["userId"])
if user_cards is None:
return {"returnCode": 1, "length": 0, "nextIndex": 0, "userCardList": []}
max_ct = data["maxCount"]
next_idx = data["nextIndex"]
start_idx = next_idx
end_idx = max_ct + start_idx
if len(user_cards[start_idx:]) > max_ct:
next_idx += max_ct
else:
next_idx = 0
card_list = []
for card in user_cards:
tmp = card._asdict()
tmp.pop("id")
tmp.pop("user")
tmp["startDate"] = datetime.strftime(tmp["startDate"], "%Y-%m-%d %H:%M:%S")
tmp["endDate"] = datetime.strftime(tmp["endDate"], "%Y-%m-%d %H:%M:%S")
card_list.append(tmp)
return {
"returnCode": 1,
"length": len(card_list[start_idx:end_idx]),
"nextIndex": next_idx,
"userCardList": card_list[start_idx:end_idx],
}
def handle_cm_get_user_item_api_request(self, data: Dict) -> Dict:
super().handle_get_user_item_api_request(data)
def handle_cm_get_user_character_api_request(self, data: Dict) -> Dict:
characters = self.data.item.get_characters(data["userId"])
chara_list = []
for chara in characters:
chara_list.append(
{
"characterId": chara["characterId"],
# no clue why those values are even needed
"point": 0,
"count": 0,
"level": chara["level"],
"nextAwake": 0,
"nextAwakePercent": 0,
"favorite": False,
"awakening": chara["awakening"],
"useCount": chara["useCount"],
}
)
return {
"returnCode": 1,
"length": len(chara_list),
"userCharacterList": chara_list,
}
def handle_cm_get_user_card_print_error_api_request(self, data: Dict) -> Dict:
return {"length": 0, "userPrintDetailList": []}
def handle_cm_upsert_user_print_api_request(self, data: Dict) -> Dict:
user_id = data["userId"]
upsert = data["userPrintDetail"]
# set a random card serial number
serial_id = "".join([str(randint(0, 9)) for _ in range(20)])
user_card = upsert["userCard"]
self.data.item.put_card(
user_id,
user_card["cardId"],
user_card["cardTypeId"],
user_card["charaId"],
user_card["mapId"],
)
# properly format userPrintDetail for the database
upsert.pop("userCard")
upsert.pop("serialId")
upsert["printDate"] = datetime.strptime(upsert["printDate"], "%Y-%m-%d")
self.data.item.put_user_print_detail(user_id, serial_id, upsert)
return {
"returnCode": 1,
"orderId": 0,
"serialId": serial_id,
"startDate": "2018-01-01 00:00:00",
"endDate": "2038-01-01 00:00:00",
}
def handle_cm_upsert_user_printlog_api_request(self, data: Dict) -> Dict:
return {
"returnCode": 1,
"orderId": 0,
"serialId": data["userPrintlog"]["serialId"],
}
def handle_cm_upsert_buy_card_api_request(self, data: Dict) -> Dict:
return {"returnCode": 1}

View File

@ -4,12 +4,12 @@ import pytz
import json import json
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.base import Mai2Base from titles.mai2.dx import Mai2DX
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
class Mai2Plus(Mai2Base): class Mai2DXPlus(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_PLUS self.version = Mai2Constants.VER_MAIMAI_DX_PLUS

View File

@ -1,12 +1,12 @@
from typing import Dict from typing import Dict
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.universeplus import Mai2UniversePlus from titles.mai2.dx import Mai2DX
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
class Mai2Festival(Mai2UniversePlus): class Mai2Festival(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_FESTIVAL self.version = Mai2Constants.VER_MAIMAI_DX_FESTIVAL

23
titles/mai2/finale.py Normal file
View File

@ -0,0 +1,23 @@
from typing import Any, List, Dict
from datetime import datetime, timedelta
import pytz
import json
from core.config import CoreConfig
from titles.mai2.base import Mai2Base
from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants
class Mai2Finale(Mai2Base):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_FINALE
self.can_deliver = True
self.can_usbdl = True
if self.core_config.server.is_develop and self.core_config.title.port > 0:
self.old_server = f"http://{self.core_config.title.hostname}:{self.core_config.title.port}/SDEY/197/"
else:
self.old_server = f"http://{self.core_config.title.hostname}/SDEY/197/"

View File

@ -1,4 +1,5 @@
from twisted.web.http import Request from twisted.web.http import Request
from twisted.web.server import NOT_DONE_YET
import json import json
import inflection import inflection
import yaml import yaml
@ -14,7 +15,9 @@ from core.utils import Utils
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
from titles.mai2.base import Mai2Base from titles.mai2.base import Mai2Base
from titles.mai2.plus import Mai2Plus from titles.mai2.finale import Mai2Finale
from titles.mai2.dx import Mai2DX
from titles.mai2.dxplus import Mai2DXPlus
from titles.mai2.splash import Mai2Splash from titles.mai2.splash import Mai2Splash
from titles.mai2.splashplus import Mai2SplashPlus from titles.mai2.splashplus import Mai2SplashPlus
from titles.mai2.universe import Mai2Universe from titles.mai2.universe import Mai2Universe
@ -33,7 +36,20 @@ class Mai2Servlet:
self.versions = [ self.versions = [
Mai2Base, Mai2Base,
Mai2Plus, None,
None,
None,
None,
None,
None,
None,
None,
None,
None,
None,
Mai2Finale,
Mai2DX,
Mai2DXPlus,
Mai2Splash, Mai2Splash,
Mai2SplashPlus, Mai2SplashPlus,
Mai2Universe, Mai2Universe,
@ -42,27 +58,29 @@ class Mai2Servlet:
] ]
self.logger = logging.getLogger("mai2") self.logger = logging.getLogger("mai2")
log_fmt_str = "[%(asctime)s] Mai2 | %(levelname)s | %(message)s" if not hasattr(self.logger, "initted"):
log_fmt = logging.Formatter(log_fmt_str) log_fmt_str = "[%(asctime)s] Mai2 | %(levelname)s | %(message)s"
fileHandler = TimedRotatingFileHandler( log_fmt = logging.Formatter(log_fmt_str)
"{0}/{1}.log".format(self.core_cfg.server.log_dir, "mai2"), fileHandler = TimedRotatingFileHandler(
encoding="utf8", "{0}/{1}.log".format(self.core_cfg.server.log_dir, "mai2"),
when="d", encoding="utf8",
backupCount=10, when="d",
) backupCount=10,
)
fileHandler.setFormatter(log_fmt) fileHandler.setFormatter(log_fmt)
consoleHandler = logging.StreamHandler() consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(log_fmt) consoleHandler.setFormatter(log_fmt)
self.logger.addHandler(fileHandler) self.logger.addHandler(fileHandler)
self.logger.addHandler(consoleHandler) self.logger.addHandler(consoleHandler)
self.logger.setLevel(self.game_cfg.server.loglevel) self.logger.setLevel(self.game_cfg.server.loglevel)
coloredlogs.install( coloredlogs.install(
level=self.game_cfg.server.loglevel, logger=self.logger, fmt=log_fmt_str level=self.game_cfg.server.loglevel, logger=self.logger, fmt=log_fmt_str
) )
self.logger.initted = True
@classmethod @classmethod
def get_allnet_info( def get_allnet_info(
@ -82,7 +100,7 @@ class Mai2Servlet:
return ( return (
True, True,
f"http://{core_cfg.title.hostname}:{core_cfg.title.port}/{game_code}/$v/", f"http://{core_cfg.title.hostname}:{core_cfg.title.port}/{game_code}/$v/",
f"{core_cfg.title.hostname}:{core_cfg.title.port}", f"{core_cfg.title.hostname}",
) )
return ( return (
@ -95,6 +113,10 @@ class Mai2Servlet:
if url_path.lower() == "ping": if url_path.lower() == "ping":
return zlib.compress(b'{"returnCode": "1"}') return zlib.compress(b'{"returnCode": "1"}')
elif url_path.startswith("api/movie/"):
self.logger.info(f"Movie data: {url_path} - {request.content.getvalue()}")
return b""
req_raw = request.content.getvalue() req_raw = request.content.getvalue()
url = request.uri.decode() url = request.uri.decode()
url_split = url_path.split("/") url_split = url_path.split("/")
@ -102,20 +124,49 @@ class Mai2Servlet:
endpoint = url_split[len(url_split) - 1] endpoint = url_split[len(url_split) - 1]
client_ip = Utils.get_ip_addr(request) client_ip = Utils.get_ip_addr(request)
if version < 105: # 1.0 if request.uri.startswith(b"/SDEZ"):
internal_ver = Mai2Constants.VER_MAIMAI_DX if version < 105: # 1.0
elif version >= 105 and version < 110: # Plus internal_ver = Mai2Constants.VER_MAIMAI_DX
internal_ver = Mai2Constants.VER_MAIMAI_DX_PLUS elif version >= 105 and version < 110: # Plus
elif version >= 110 and version < 115: # Splash internal_ver = Mai2Constants.VER_MAIMAI_DX_PLUS
internal_ver = Mai2Constants.VER_MAIMAI_DX_SPLASH elif version >= 110 and version < 115: # Splash
elif version >= 115 and version < 120: # Splash Plus internal_ver = Mai2Constants.VER_MAIMAI_DX_SPLASH
internal_ver = Mai2Constants.VER_MAIMAI_DX_SPLASH_PLUS elif version >= 115 and version < 120: # Splash Plus
elif version >= 120 and version < 125: # Universe internal_ver = Mai2Constants.VER_MAIMAI_DX_SPLASH_PLUS
internal_ver = Mai2Constants.VER_MAIMAI_DX_UNIVERSE elif version >= 120 and version < 125: # Universe
elif version >= 125 and version < 130: # Universe Plus internal_ver = Mai2Constants.VER_MAIMAI_DX_UNIVERSE
internal_ver = Mai2Constants.VER_MAIMAI_DX_UNIVERSE_PLUS elif version >= 125 and version < 130: # Universe Plus
elif version >= 130: # Festival internal_ver = Mai2Constants.VER_MAIMAI_DX_UNIVERSE_PLUS
internal_ver = Mai2Constants.VER_MAIMAI_DX_FESTIVAL elif version >= 130: # Festival
internal_ver = Mai2Constants.VER_MAIMAI_DX_FESTIVAL
else:
if version < 110: # 1.0
internal_ver = Mai2Constants.VER_MAIMAI
elif version >= 110 and version < 120: # Plus
internal_ver = Mai2Constants.VER_MAIMAI_PLUS
elif version >= 120 and version < 130: # Green
internal_ver = Mai2Constants.VER_MAIMAI_GREEN
elif version >= 130 and version < 140: # Green Plus
internal_ver = Mai2Constants.VER_MAIMAI_GREEN_PLUS
elif version >= 140 and version < 150: # Orange
internal_ver = Mai2Constants.VER_MAIMAI_ORANGE
elif version >= 150 and version < 160: # Orange Plus
internal_ver = Mai2Constants.VER_MAIMAI_ORANGE_PLUS
elif version >= 160 and version < 170: # Pink
internal_ver = Mai2Constants.VER_MAIMAI_PINK
elif version >= 170 and version < 180: # Pink Plus
internal_ver = Mai2Constants.VER_MAIMAI_PINK_PLUS
elif version >= 180 and version < 185: # Murasaki
internal_ver = Mai2Constants.VER_MAIMAI_MURASAKI
elif version >= 185 and version < 190: # Murasaki Plus
internal_ver = Mai2Constants.VER_MAIMAI_MURASAKI_PLUS
elif version >= 190 and version < 195: # Milk
internal_ver = Mai2Constants.VER_MAIMAI_MILK
elif version >= 195 and version < 197: # Milk Plus
internal_ver = Mai2Constants.VER_MAIMAI_MILK_PLUS
elif version >= 197: # Finale
internal_ver = Mai2Constants.VER_MAIMAI_FINALE
if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32: if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32:
# If we get a 32 character long hex string, it's a hash and we're # If we get a 32 character long hex string, it's a hash and we're
@ -159,3 +210,39 @@ class Mai2Servlet:
self.logger.debug(f"Response {resp}") self.logger.debug(f"Response {resp}")
return zlib.compress(json.dumps(resp, ensure_ascii=False).encode("utf-8")) return zlib.compress(json.dumps(resp, ensure_ascii=False).encode("utf-8"))
def render_GET(self, request: Request, version: int, url_path: str) -> bytes:
self.logger.info(f"v{version} GET {url_path}")
url_split = url_path.split("/")
if (url_split[0] == "api" and url_split[1] == "movie") or url_split[0] == "movie":
if url_split[2] == "moviestart":
return json.dumps({"moviestart":{"status":"OK"}}).encode()
if url_split[0] == "old":
if url_split[1] == "ping":
self.logger.info(f"v{version} old server ping")
return zlib.compress(b"ok")
elif url_split[1].startswith("userdata"):
self.logger.info(f"v{version} old server userdata inquire")
return zlib.compress(b"{}")
elif url_split[1].startswith("friend"):
self.logger.info(f"v{version} old server friend inquire")
return zlib.compress(b"{}")
elif url_split[0] == "usbdl":
if url_split[1] == "CONNECTIONTEST":
self.logger.info(f"v{version} usbdl server test")
return zlib.compress(b"ok")
elif url_split[0] == "deliver":
file = url_split[len(url_split) - 1]
self.logger.info(f"v{version} {file} deliver inquire")
if not self.game_cfg.deliver.enable or not path.exists(f"{self.game_cfg.deliver.content_folder}/{file}"):
return zlib.compress(b"")
else:
return zlib.compress(b"{}")

View File

@ -4,6 +4,9 @@ import os
import re import re
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
from typing import Any, Dict, List, Optional from typing import Any, Dict, List, Optional
from Crypto.Cipher import AES
import zlib
import codecs
from core.config import CoreConfig from core.config import CoreConfig
from core.data import Data from core.data import Data
@ -34,18 +37,147 @@ class Mai2Reader(BaseReader):
def read(self) -> None: def read(self) -> None:
data_dirs = [] data_dirs = []
if self.bin_dir is not None: if self.version >= Mai2Constants.VER_MAIMAI_DX:
data_dirs += self.get_data_directories(self.bin_dir) if self.bin_dir is not None:
data_dirs += self.get_data_directories(self.bin_dir)
if self.opt_dir is not None: if self.opt_dir is not None:
data_dirs += self.get_data_directories(self.opt_dir) data_dirs += self.get_data_directories(self.opt_dir)
for dir in data_dirs: for dir in data_dirs:
self.logger.info(f"Read from {dir}") self.logger.info(f"Read from {dir}")
self.get_events(f"{dir}/event") self.get_events(f"{dir}/event")
self.disable_events(f"{dir}/information", f"{dir}/scoreRanking") self.disable_events(f"{dir}/information", f"{dir}/scoreRanking")
self.read_music(f"{dir}/music") self.read_music(f"{dir}/music")
self.read_tickets(f"{dir}/ticket") self.read_tickets(f"{dir}/ticket")
else:
if not os.path.exists(f"{self.bin_dir}/tables"):
self.logger.error(f"tables directory not found in {self.bin_dir}")
return
if self.version >= Mai2Constants.VER_MAIMAI_MILK:
if self.extra is None:
self.logger.error("Milk - Finale requre an AES key via a hex string send as the --extra flag")
return
key = bytes.fromhex(self.extra)
else:
key = None
evt_table = self.load_table_raw(f"{self.bin_dir}/tables", "mmEvent.bin", key)
txt_table = self.load_table_raw(f"{self.bin_dir}/tables", "mmtextout_jp.bin", key)
score_table = self.load_table_raw(f"{self.bin_dir}/tables", "mmScore.bin", key)
self.read_old_events(evt_table)
self.read_old_music(score_table, txt_table)
if self.opt_dir is not None:
evt_table = self.load_table_raw(f"{self.opt_dir}/tables", "mmEvent.bin", key)
txt_table = self.load_table_raw(f"{self.opt_dir}/tables", "mmtextout_jp.bin", key)
score_table = self.load_table_raw(f"{self.opt_dir}/tables", "mmScore.bin", key)
self.read_old_events(evt_table)
self.read_old_music(score_table, txt_table)
return
def load_table_raw(self, dir: str, file: str, key: Optional[bytes]) -> Optional[List[Dict[str, str]]]:
if not os.path.exists(f"{dir}/{file}"):
self.logger.warn(f"file {file} does not exist in directory {dir}, skipping")
return
self.logger.info(f"Load table {file} from {dir}")
if key is not None:
cipher = AES.new(key, AES.MODE_CBC)
with open(f"{dir}/{file}", "rb") as f:
f_encrypted = f.read()
f_data = cipher.decrypt(f_encrypted)[0x10:]
else:
with open(f"{dir}/{file}", "rb") as f:
f_data = f.read()[0x10:]
if f_data is None or not f_data:
self.logger.warn(f"file {dir} could not be read, skipping")
return
f_data_deflate = zlib.decompress(f_data, wbits = zlib.MAX_WBITS | 16)[0x12:] # lop off the junk at the beginning
f_decoded = codecs.utf_16_le_decode(f_data_deflate)[0]
f_split = f_decoded.splitlines()
has_struct_def = "struct " in f_decoded
is_struct = False
struct_def = []
tbl_content = []
if has_struct_def:
for x in f_split:
if x.startswith("struct "):
is_struct = True
struct_name = x[7:-1]
continue
if x.startswith("};"):
is_struct = False
break
if is_struct:
try:
struct_def.append(x[x.rindex(" ") + 2: -1])
except ValueError:
self.logger.warn(f"rindex failed on line {x}")
if is_struct:
self.logger.warn("Struct not formatted properly")
if not struct_def:
self.logger.warn("Struct def not found")
name = file[:file.index(".")]
if "_" in name:
name = name[:file.index("_")]
for x in f_split:
if not x.startswith(name.upper()):
continue
line_match = re.match(r"(\w+)\((.*?)\)([ ]+\/{3}<[ ]+(.*))?", x)
if line_match is None:
continue
if not line_match.group(1) == name.upper():
self.logger.warn(f"Strange regex match for line {x} -> {line_match}")
continue
vals = line_match.group(2)
comment = line_match.group(4)
line_dict = {}
vals_split = vals.split(",")
for y in range(len(vals_split)):
stripped = vals_split[y].strip().lstrip("L\"").lstrip("\"").rstrip("\"")
if not stripped or stripped is None:
continue
if has_struct_def and len(struct_def) > y:
line_dict[struct_def[y]] = stripped
else:
line_dict[f'item_{y}'] = stripped
if comment:
line_dict['comment'] = comment
tbl_content.append(line_dict)
if tbl_content:
return tbl_content
else:
self.logger.warning("Failed load table content, skipping")
return
def get_events(self, base_dir: str) -> None: def get_events(self, base_dir: str) -> None:
self.logger.info(f"Reading events from {base_dir}...") self.logger.info(f"Reading events from {base_dir}...")
@ -188,3 +320,24 @@ class Mai2Reader(BaseReader):
self.version, id, ticket_type, price, name self.version, id, ticket_type, price, name
) )
self.logger.info(f"Added ticket {id}...") self.logger.info(f"Added ticket {id}...")
def read_old_events(self, events: Optional[List[Dict[str, str]]]) -> None:
if events is None:
return
for event in events:
evt_id = int(event.get('イベントID', '0'))
evt_expire_time = float(event.get('オフ時強制時期', '0.0'))
is_exp = bool(int(event.get('海外許可', '0')))
is_aou = bool(int(event.get('AOU許可', '0')))
name = event.get('comment', f'evt_{evt_id}')
self.data.static.put_game_event(self.version, 0, evt_id, name)
if not (is_exp or is_aou):
self.data.static.toggle_game_event(self.version, evt_id, False)
def read_old_music(self, scores: Optional[List[Dict[str, str]]], text: Optional[List[Dict[str, str]]]) -> None:
if scores is None or text is None:
return
# TODO

View File

@ -18,10 +18,11 @@ character = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("characterId", Integer, nullable=False), Column("characterId", Integer),
Column("level", Integer, nullable=False, server_default="1"), Column("level", Integer),
Column("awakening", Integer, nullable=False, server_default="0"), Column("awakening", Integer),
Column("useCount", Integer, nullable=False, server_default="0"), Column("useCount", Integer),
Column("point", Integer),
UniqueConstraint("user", "characterId", name="mai2_item_character_uk"), UniqueConstraint("user", "characterId", name="mai2_item_character_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -35,12 +36,12 @@ card = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("cardId", Integer, nullable=False), Column("cardId", Integer),
Column("cardTypeId", Integer, nullable=False), Column("cardTypeId", Integer),
Column("charaId", Integer, nullable=False), Column("charaId", Integer),
Column("mapId", Integer, nullable=False), Column("mapId", Integer),
Column("startDate", TIMESTAMP, server_default="2018-01-01 00:00:00.0"), Column("startDate", TIMESTAMP, server_default=func.now()),
Column("endDate", TIMESTAMP, server_default="2038-01-01 00:00:00.0"), Column("endDate", TIMESTAMP),
UniqueConstraint("user", "cardId", "cardTypeId", name="mai2_item_card_uk"), UniqueConstraint("user", "cardId", "cardTypeId", name="mai2_item_card_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -54,10 +55,10 @@ item = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("itemId", Integer, nullable=False), Column("itemId", Integer),
Column("itemKind", Integer, nullable=False), Column("itemKind", Integer),
Column("stock", Integer, nullable=False, server_default="1"), Column("stock", Integer),
Column("isValid", Boolean, nullable=False, server_default="1"), Column("isValid", Boolean),
UniqueConstraint("user", "itemId", "itemKind", name="mai2_item_item_uk"), UniqueConstraint("user", "itemId", "itemKind", name="mai2_item_item_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -71,11 +72,11 @@ map = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("mapId", Integer, nullable=False), Column("mapId", Integer),
Column("distance", Integer, nullable=False), Column("distance", Integer),
Column("isLock", Boolean, nullable=False, server_default="0"), Column("isLock", Boolean),
Column("isClear", Boolean, nullable=False, server_default="0"), Column("isClear", Boolean),
Column("isComplete", Boolean, nullable=False, server_default="0"), Column("isComplete", Boolean),
UniqueConstraint("user", "mapId", name="mai2_item_map_uk"), UniqueConstraint("user", "mapId", name="mai2_item_map_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -89,10 +90,10 @@ login_bonus = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("bonusId", Integer, nullable=False), Column("bonusId", Integer),
Column("point", Integer, nullable=False), Column("point", Integer),
Column("isCurrent", Boolean, nullable=False, server_default="0"), Column("isCurrent", Boolean),
Column("isComplete", Boolean, nullable=False, server_default="0"), Column("isComplete", Boolean),
UniqueConstraint("user", "bonusId", name="mai2_item_login_bonus_uk"), UniqueConstraint("user", "bonusId", name="mai2_item_login_bonus_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -106,12 +107,12 @@ friend_season_ranking = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("seasonId", Integer, nullable=False), Column("seasonId", Integer),
Column("point", Integer, nullable=False), Column("point", Integer),
Column("rank", Integer, nullable=False), Column("rank", Integer),
Column("rewardGet", Boolean, nullable=False), Column("rewardGet", Boolean),
Column("userName", String(8), nullable=False), Column("userName", String(8)),
Column("recordDate", TIMESTAMP, nullable=False), Column("recordDate", TIMESTAMP),
UniqueConstraint( UniqueConstraint(
"user", "seasonId", "userName", name="mai2_item_friend_season_ranking_uk" "user", "seasonId", "userName", name="mai2_item_friend_season_ranking_uk"
), ),
@ -127,7 +128,7 @@ favorite = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("itemKind", Integer, nullable=False), Column("itemKind", Integer),
Column("itemIdList", JSON), Column("itemIdList", JSON),
UniqueConstraint("user", "itemKind", name="mai2_item_favorite_uk"), UniqueConstraint("user", "itemKind", name="mai2_item_favorite_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
@ -142,10 +143,10 @@ charge = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("chargeId", Integer, nullable=False), Column("chargeId", Integer),
Column("stock", Integer, nullable=False), Column("stock", Integer),
Column("purchaseDate", String(255), nullable=False), Column("purchaseDate", String(255)),
Column("validDate", String(255), nullable=False), Column("validDate", String(255)),
UniqueConstraint("user", "chargeId", name="mai2_item_charge_uk"), UniqueConstraint("user", "chargeId", name="mai2_item_charge_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
@ -161,11 +162,11 @@ print_detail = Table(
), ),
Column("orderId", Integer), Column("orderId", Integer),
Column("printNumber", Integer), Column("printNumber", Integer),
Column("printDate", TIMESTAMP, nullable=False, server_default=func.now()), Column("printDate", TIMESTAMP, server_default=func.now()),
Column("serialId", String(20), nullable=False), Column("serialId", String(20)),
Column("placeId", Integer, nullable=False), Column("placeId", Integer),
Column("clientId", String(11), nullable=False), Column("clientId", String(11)),
Column("printerSerialId", String(20), nullable=False), Column("printerSerialId", String(20)),
Column("cardRomVersion", Integer), Column("cardRomVersion", Integer),
Column("isHolograph", Boolean, server_default="1"), Column("isHolograph", Boolean, server_default="1"),
Column("printOption1", Boolean, server_default="0"), Column("printOption1", Boolean, server_default="0"),
@ -333,6 +334,19 @@ class Mai2ItemData(BaseData):
return None return None
return result.fetchone() return result.fetchone()
def put_character_(self, user_id: int, char_data: Dict) -> Optional[int]:
char_data["user"] = user_id
sql = insert(character).values(**char_data)
conflict = sql.on_duplicate_key_update(**char_data)
result = self.execute(conflict)
if result is None:
self.logger.warn(
f"put_character_: failed to insert item! user_id: {user_id}"
)
return None
return result.lastrowid
def put_character( def put_character(
self, self,
user_id: int, user_id: int,
@ -444,6 +458,8 @@ class Mai2ItemData(BaseData):
card_kind: int, card_kind: int,
chara_id: int, chara_id: int,
map_id: int, map_id: int,
start_date: datetime,
end_date: datetime,
) -> Optional[Row]: ) -> Optional[Row]:
sql = insert(card).values( sql = insert(card).values(
user=user_id, user=user_id,
@ -451,9 +467,13 @@ class Mai2ItemData(BaseData):
cardTypeId=card_kind, cardTypeId=card_kind,
charaId=chara_id, charaId=chara_id,
mapId=map_id, mapId=map_id,
startDate=start_date,
endDate=end_date,
) )
conflict = sql.on_duplicate_key_update(charaId=chara_id, mapId=map_id) conflict = sql.on_duplicate_key_update(
charaId=chara_id, mapId=map_id, startDate=start_date, endDate=end_date
)
result = self.execute(conflict) result = self.execute(conflict)
if result is None: if result is None:

View File

@ -99,6 +99,68 @@ detail = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
detail_old = Table(
"maimai_profile_detail",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("version", Integer, nullable=False),
Column("lastDataVersion", Integer),
Column("userName", String(8)),
Column("point", Integer),
Column("totalPoint", Integer),
Column("iconId", Integer),
Column("nameplateId", Integer),
Column("frameId", Integer),
Column("trophyId", Integer),
Column("playCount", Integer),
Column("playVsCount", Integer),
Column("playSyncCount", Integer),
Column("winCount", Integer),
Column("helpCount", Integer),
Column("comboCount", Integer),
Column("feverCount", Integer),
Column("totalHiScore", Integer),
Column("totalEasyHighScore", Integer),
Column("totalBasicHighScore", Integer),
Column("totalAdvancedHighScore", Integer),
Column("totalExpertHighScore", Integer),
Column("totalMasterHighScore", Integer),
Column("totalReMasterHighScore", Integer),
Column("totalHighSync", Integer),
Column("totalEasySync", Integer),
Column("totalBasicSync", Integer),
Column("totalAdvancedSync", Integer),
Column("totalExpertSync", Integer),
Column("totalMasterSync", Integer),
Column("totalReMasterSync", Integer),
Column("playerRating", Integer),
Column("highestRating", Integer),
Column("rankAuthTailId", Integer),
Column("eventWatchedDate", String(255)),
Column("webLimitDate", String(255)),
Column("challengeTrackPhase", Integer),
Column("firstPlayBits", Integer),
Column("lastPlayDate", String(255)),
Column("lastPlaceId", Integer),
Column("lastPlaceName", String(255)),
Column("lastRegionId", Integer),
Column("lastRegionName", String(255)),
Column("lastClientId", String(255)),
Column("lastCountryCode", String(255)),
Column("eventPoint", Integer),
Column("totalLv", Integer),
Column("lastLoginBonusDay", Integer),
Column("lastSurvivalBonusDay", Integer),
Column("loginBonusLv", Integer),
UniqueConstraint("user", "version", name="maimai_profile_detail_uk"),
mysql_charset="utf8mb4",
)
ghost = Table( ghost = Table(
"mai2_profile_ghost", "mai2_profile_ghost",
metadata, metadata,
@ -223,6 +285,99 @@ option = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
option_old = Table(
"maimai_profile_option",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("version", Integer, nullable=False),
Column("soudEffect", Integer),
Column("mirrorMode", Integer),
Column("guideSpeed", Integer),
Column("bgInfo", Integer),
Column("brightness", Integer),
Column("isStarRot", Integer),
Column("breakSe", Integer),
Column("slideSe", Integer),
Column("hardJudge", Integer),
Column("isTagJump", Integer),
Column("breakSeVol", Integer),
Column("slideSeVol", Integer),
Column("isUpperDisp", Integer),
Column("trackSkip", Integer),
Column("optionMode", Integer),
Column("simpleOptionParam", Integer),
Column("adjustTiming", Integer),
Column("dispTiming", Integer),
Column("timingPos", Integer),
Column("ansVol", Integer),
Column("noteVol", Integer),
Column("dmgVol", Integer),
Column("appealFlame", Integer),
Column("isFeverDisp", Integer),
Column("dispJudge", Integer),
Column("judgePos", Integer),
Column("ratingGuard", Integer),
Column("selectChara", Integer),
Column("sortType", Integer),
Column("filterGenre", Integer),
Column("filterLevel", Integer),
Column("filterRank", Integer),
Column("filterVersion", Integer),
Column("filterRec", Integer),
Column("filterFullCombo", Integer),
Column("filterAllPerfect", Integer),
Column("filterDifficulty", Integer),
Column("filterFullSync", Integer),
Column("filterReMaster", Integer),
Column("filterMaxFever", Integer),
Column("finalSelectId", Integer),
Column("finalSelectCategory", Integer),
UniqueConstraint("user", "version", name="maimai_profile_option_uk"),
mysql_charset="utf8mb4",
)
web_opt = Table(
"maimai_profile_web_option",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("version", Integer, nullable=False),
Column("isNetMember", Boolean),
Column("dispRate", Integer),
Column("dispJudgeStyle", Integer),
Column("dispRank", Integer),
Column("dispHomeRanker", Integer),
Column("dispTotalLv", Integer),
UniqueConstraint("user", "version", name="maimai_profile_web_option_uk"),
mysql_charset="utf8mb4",
)
grade_status = Table(
"maimai_profile_grade_status",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("gradeVersion", Integer),
Column("gradeLevel", Integer),
Column("gradeSubLevel", Integer),
Column("gradeMaxId", Integer),
UniqueConstraint("user", "gradeVersion", name="maimai_profile_grade_status_uk"),
mysql_charset="utf8mb4",
)
rating = Table( rating = Table(
"mai2_profile_rating", "mai2_profile_rating",
metadata, metadata,
@ -268,42 +423,91 @@ activity = Table(
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False, nullable=False,
), ),
Column("kind", Integer, nullable=False), Column("kind", Integer),
Column("activityId", Integer, nullable=False), Column("activityId", Integer),
Column("param1", Integer, nullable=False), Column("param1", Integer),
Column("param2", Integer, nullable=False), Column("param2", Integer),
Column("param3", Integer, nullable=False), Column("param3", Integer),
Column("param4", Integer, nullable=False), Column("param4", Integer),
Column("sortNumber", Integer, nullable=False), Column("sortNumber", Integer),
UniqueConstraint("user", "kind", "activityId", name="mai2_profile_activity_uk"), UniqueConstraint("user", "kind", "activityId", name="mai2_profile_activity_uk"),
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
boss = Table(
"maimai_profile_boss",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("user", ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False),
Column("pandoraFlagList0", Integer),
Column("pandoraFlagList1", Integer),
Column("pandoraFlagList2", Integer),
Column("pandoraFlagList3", Integer),
Column("pandoraFlagList4", Integer),
Column("pandoraFlagList5", Integer),
Column("pandoraFlagList6", Integer),
Column("emblemFlagList", Integer),
UniqueConstraint("user", name="mai2_profile_boss_uk"),
mysql_charset="utf8mb4",
)
recent_rating = Table(
"maimai_profile_recent_rating",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("user", ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False),
Column("userRecentRatingList", JSON),
UniqueConstraint("user", name="mai2_profile_recent_rating_uk"),
mysql_charset="utf8mb4",
)
consec_logins = Table(
"mai2_profile_consec_logins",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("user", ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False),
Column("version", Integer, nullable=False),
Column("logins", Integer),
UniqueConstraint("user", "version", name="mai2_profile_consec_logins_uk"),
mysql_charset="utf8mb4",
)
class Mai2ProfileData(BaseData): class Mai2ProfileData(BaseData):
def put_profile_detail( def put_profile_detail(
self, user_id: int, version: int, detail_data: Dict self, user_id: int, version: int, detail_data: Dict, is_dx: bool = True
) -> Optional[Row]: ) -> Optional[Row]:
detail_data["user"] = user_id detail_data["user"] = user_id
detail_data["version"] = version detail_data["version"] = version
sql = insert(detail).values(**detail_data)
if is_dx:
sql = insert(detail).values(**detail_data)
else:
sql = insert(detail_old).values(**detail_data)
conflict = sql.on_duplicate_key_update(**detail_data) conflict = sql.on_duplicate_key_update(**detail_data)
result = self.execute(conflict) result = self.execute(conflict)
if result is None: if result is None:
self.logger.warn( self.logger.warn(
f"put_profile: Failed to create profile! user_id {user_id}" f"put_profile: Failed to create profile! user_id {user_id} is_dx {is_dx}"
) )
return None return None
return result.lastrowid return result.lastrowid
def get_profile_detail(self, user_id: int, version: int) -> Optional[Row]: def get_profile_detail(self, user_id: int, version: int, is_dx: bool = True) -> Optional[Row]:
sql = ( if is_dx:
select(detail) sql = (
.where(and_(detail.c.user == user_id, detail.c.version <= version)) select(detail)
.order_by(detail.c.version.desc()) .where(and_(detail.c.user == user_id, detail.c.version <= version))
) .order_by(detail.c.version.desc())
)
else:
sql = (
select(detail_old)
.where(and_(detail_old.c.user == user_id, detail_old.c.version <= version))
.order_by(detail_old.c.version.desc())
)
result = self.execute(sql) result = self.execute(sql)
if result is None: if result is None:
@ -365,26 +569,36 @@ class Mai2ProfileData(BaseData):
return result.fetchone() return result.fetchone()
def put_profile_option( def put_profile_option(
self, user_id: int, version: int, option_data: Dict self, user_id: int, version: int, option_data: Dict, is_dx: bool = True
) -> Optional[int]: ) -> Optional[int]:
option_data["user"] = user_id option_data["user"] = user_id
option_data["version"] = version option_data["version"] = version
sql = insert(option).values(**option_data) if is_dx:
sql = insert(option).values(**option_data)
else:
sql = insert(option_old).values(**option_data)
conflict = sql.on_duplicate_key_update(**option_data) conflict = sql.on_duplicate_key_update(**option_data)
result = self.execute(conflict) result = self.execute(conflict)
if result is None: if result is None:
self.logger.warn(f"put_profile_option: failed to update! {user_id}") self.logger.warn(f"put_profile_option: failed to update! {user_id} is_dx {is_dx}")
return None return None
return result.lastrowid return result.lastrowid
def get_profile_option(self, user_id: int, version: int) -> Optional[Row]: def get_profile_option(self, user_id: int, version: int, is_dx: bool = True) -> Optional[Row]:
sql = ( if is_dx:
select(option) sql = (
.where(and_(option.c.user == user_id, option.c.version <= version)) select(option)
.order_by(option.c.version.desc()) .where(and_(option.c.user == user_id, option.c.version <= version))
) .order_by(option.c.version.desc())
)
else:
sql = (
select(option_old)
.where(and_(option_old.c.user == user_id, option_old.c.version <= version))
.order_by(option_old.c.version.desc())
)
result = self.execute(sql) result = self.execute(sql)
if result is None: if result is None:
@ -474,3 +688,130 @@ class Mai2ProfileData(BaseData):
if result is None: if result is None:
return None return None
return result.fetchall() return result.fetchall()
def put_web_option(self, user_id: int, version: int, web_opts: Dict) -> Optional[int]:
web_opts["user"] = user_id
web_opts["version"] = version
sql = insert(web_opt).values(**web_opts)
conflict = sql.on_duplicate_key_update(**web_opts)
result = self.execute(conflict)
if result is None:
self.logger.warn(
f"put_web_option: failed to update! user_id: {user_id}"
)
return None
return result.lastrowid
def get_web_option(self, user_id: int, version: int) -> Optional[Row]:
sql = web_opt.select(and_(web_opt.c.user == user_id, web_opt.c.version == version))
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def put_grade_status(self, user_id: int, grade_stat: Dict) -> Optional[int]:
grade_stat["user"] = user_id
sql = insert(grade_status).values(**grade_stat)
conflict = sql.on_duplicate_key_update(**grade_stat)
result = self.execute(conflict)
if result is None:
self.logger.warn(
f"put_grade_status: failed to update! user_id: {user_id}"
)
return None
return result.lastrowid
def get_grade_status(self, user_id: int) -> Optional[Row]:
sql = grade_status.select(grade_status.c.user == user_id)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def put_boss_list(self, user_id: int, boss_stat: Dict) -> Optional[int]:
boss_stat["user"] = user_id
sql = insert(boss).values(**boss_stat)
conflict = sql.on_duplicate_key_update(**boss_stat)
result = self.execute(conflict)
if result is None:
self.logger.warn(
f"put_boss_list: failed to update! user_id: {user_id}"
)
return None
return result.lastrowid
def get_boss_list(self, user_id: int) -> Optional[Row]:
sql = boss.select(boss.c.user == user_id)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def put_recent_rating(self, user_id: int, rr: Dict) -> Optional[int]:
sql = insert(recent_rating).values(user=user_id, userRecentRatingList=rr)
conflict = sql.on_duplicate_key_update({'userRecentRatingList': rr})
result = self.execute(conflict)
if result is None:
self.logger.warn(
f"put_recent_rating: failed to update! user_id: {user_id}"
)
return None
return result.lastrowid
def get_recent_rating(self, user_id: int) -> Optional[Row]:
sql = recent_rating.select(recent_rating.c.user == user_id)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def add_consec_login(self, user_id: int, version: int) -> None:
sql = insert(consec_logins).values(
user=user_id,
version=version,
logins=1
)
conflict = sql.on_duplicate_key_update(
logins=consec_logins.c.logins + 1
)
result = self.execute(conflict)
if result is None:
self.logger.error(f"Failed to update consecutive login count for user {user_id} version {version}")
def get_consec_login(self, user_id: int, version: int) -> Optional[Row]:
sql = select(consec_logins).where(and_(
consec_logins.c.user==user_id,
consec_logins.c.version==version,
))
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def reset_consec_login(self, user_id: int, version: int) -> Optional[Row]:
sql = consec_logins.update(and_(
consec_logins.c.user==user_id,
consec_logins.c.version==version,
)).values(
logins=1
)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()

View File

@ -7,6 +7,7 @@ from sqlalchemy.engine import Row
from sqlalchemy.dialects.mysql import insert from sqlalchemy.dialects.mysql import insert
from core.data.schema import BaseData, metadata from core.data.schema import BaseData, metadata
from core.data import cached
best_score = Table( best_score = Table(
"mai2_score_best", "mai2_score_best",
@ -174,29 +175,137 @@ course = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
playlog_old = Table(
"maimai_playlog",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("version", Integer),
# Pop access code
Column("orderId", Integer),
Column("sortNumber", Integer),
Column("placeId", Integer),
Column("placeName", String(255)),
Column("country", String(255)),
Column("regionId", Integer),
Column("playDate", String(255)),
Column("userPlayDate", String(255)),
Column("musicId", Integer),
Column("level", Integer),
Column("gameMode", Integer),
Column("rivalNum", Integer),
Column("track", Integer),
Column("eventId", Integer),
Column("isFreeToPlay", Boolean),
Column("playerRating", Integer),
Column("playedUserId1", Integer),
Column("playedUserId2", Integer),
Column("playedUserId3", Integer),
Column("playedUserName1", String(255)),
Column("playedUserName2", String(255)),
Column("playedUserName3", String(255)),
Column("playedMusicLevel1", Integer),
Column("playedMusicLevel2", Integer),
Column("playedMusicLevel3", Integer),
Column("achievement", Integer),
Column("score", Integer),
Column("tapScore", Integer),
Column("holdScore", Integer),
Column("slideScore", Integer),
Column("breakScore", Integer),
Column("syncRate", Integer),
Column("vsWin", Integer),
Column("isAllPerfect", Boolean),
Column("fullCombo", Integer),
Column("maxFever", Integer),
Column("maxCombo", Integer),
Column("tapPerfect", Integer),
Column("tapGreat", Integer),
Column("tapGood", Integer),
Column("tapBad", Integer),
Column("holdPerfect", Integer),
Column("holdGreat", Integer),
Column("holdGood", Integer),
Column("holdBad", Integer),
Column("slidePerfect", Integer),
Column("slideGreat", Integer),
Column("slideGood", Integer),
Column("slideBad", Integer),
Column("breakPerfect", Integer),
Column("breakGreat", Integer),
Column("breakGood", Integer),
Column("breakBad", Integer),
Column("judgeStyle", Integer),
Column("isTrackSkip", Boolean),
Column("isHighScore", Boolean),
Column("isChallengeTrack", Boolean),
Column("challengeLife", Integer),
Column("challengeRemain", Integer),
Column("isAllPerfectPlus", Integer),
mysql_charset="utf8mb4",
)
best_score_old = Table(
"maimai_score_best",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("musicId", Integer),
Column("level", Integer),
Column("playCount", Integer),
Column("achievement", Integer),
Column("scoreMax", Integer),
Column("syncRateMax", Integer),
Column("isAllPerfect", Boolean),
Column("isAllPerfectPlus", Integer),
Column("fullCombo", Integer),
Column("maxFever", Integer),
UniqueConstraint("user", "musicId", "level", name="maimai_score_best_uk"),
mysql_charset="utf8mb4",
)
class Mai2ScoreData(BaseData): class Mai2ScoreData(BaseData):
def put_best_score(self, user_id: int, score_data: Dict) -> Optional[int]: def put_best_score(self, user_id: int, score_data: Dict, is_dx: bool = True) -> Optional[int]:
score_data["user"] = user_id score_data["user"] = user_id
sql = insert(best_score).values(**score_data)
if is_dx:
sql = insert(best_score).values(**score_data)
else:
sql = insert(best_score_old).values(**score_data)
conflict = sql.on_duplicate_key_update(**score_data) conflict = sql.on_duplicate_key_update(**score_data)
result = self.execute(conflict) result = self.execute(conflict)
if result is None: if result is None:
self.logger.error( self.logger.error(
f"put_best_score: Failed to insert best score! user_id {user_id}" f"put_best_score: Failed to insert best score! user_id {user_id} is_dx {is_dx}"
) )
return None return None
return result.lastrowid return result.lastrowid
def get_best_scores(self, user_id: int, song_id: int = None) -> Optional[List[Row]]: @cached(2)
sql = best_score.select( def get_best_scores(self, user_id: int, song_id: int = None, is_dx: bool = True) -> Optional[List[Row]]:
and_( if is_dx:
best_score.c.user == user_id, sql = best_score.select(
(best_score.c.song_id == song_id) if song_id is not None else True, and_(
best_score.c.user == user_id,
(best_score.c.song_id == song_id) if song_id is not None else True,
)
)
else:
sql = best_score_old.select(
and_(
best_score_old.c.user == user_id,
(best_score_old.c.song_id == song_id) if song_id is not None else True,
)
) )
)
result = self.execute(sql) result = self.execute(sql)
if result is None: if result is None:
@ -219,15 +328,19 @@ class Mai2ScoreData(BaseData):
return None return None
return result.fetchone() return result.fetchone()
def put_playlog(self, user_id: int, playlog_data: Dict) -> Optional[int]: def put_playlog(self, user_id: int, playlog_data: Dict, is_dx: bool = True) -> Optional[int]:
playlog_data["user"] = user_id playlog_data["user"] = user_id
sql = insert(playlog).values(**playlog_data)
if is_dx:
sql = insert(playlog).values(**playlog_data)
else:
sql = insert(playlog_old).values(**playlog_data)
conflict = sql.on_duplicate_key_update(**playlog_data) conflict = sql.on_duplicate_key_update(**playlog_data)
result = self.execute(conflict) result = self.execute(conflict)
if result is None: if result is None:
self.logger.error(f"put_playlog: Failed to insert! user_id {user_id}") self.logger.error(f"put_playlog: Failed to insert! user_id {user_id} is_dx {is_dx}")
return None return None
return result.lastrowid return result.lastrowid
@ -249,4 +362,4 @@ class Mai2ScoreData(BaseData):
result = self.execute(sql) result = self.execute(sql)
if result is None: if result is None:
return None return None
return result.fetchone() return result.fetchall()

View File

@ -4,12 +4,12 @@ import pytz
import json import json
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.base import Mai2Base from titles.mai2.dx import Mai2DX
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
class Mai2Splash(Mai2Base): class Mai2Splash(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_SPLASH self.version = Mai2Constants.VER_MAIMAI_DX_SPLASH

View File

@ -4,12 +4,12 @@ import pytz
import json import json
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.base import Mai2Base from titles.mai2.dx import Mai2DX
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
class Mai2SplashPlus(Mai2Base): class Mai2SplashPlus(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_SPLASH_PLUS self.version = Mai2Constants.VER_MAIMAI_DX_SPLASH_PLUS

View File

@ -5,12 +5,12 @@ import pytz
import json import json
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.base import Mai2Base from titles.mai2.dx import Mai2DX
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
class Mai2Universe(Mai2Base): class Mai2Universe(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_UNIVERSE self.version = Mai2Constants.VER_MAIMAI_DX_UNIVERSE
@ -104,8 +104,12 @@ class Mai2Universe(Mai2Base):
tmp.pop("id") tmp.pop("id")
tmp.pop("user") tmp.pop("user")
tmp["startDate"] = datetime.strftime(tmp["startDate"], "%Y-%m-%d %H:%M:%S") tmp["startDate"] = datetime.strftime(
tmp["endDate"] = datetime.strftime(tmp["endDate"], "%Y-%m-%d %H:%M:%S") tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
)
tmp["endDate"] = datetime.strftime(
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
)
card_list.append(tmp) card_list.append(tmp)
return { return {
@ -154,6 +158,10 @@ class Mai2Universe(Mai2Base):
# set a random card serial number # set a random card serial number
serial_id = "".join([str(randint(0, 9)) for _ in range(20)]) serial_id = "".join([str(randint(0, 9)) for _ in range(20)])
# calculate start and end date of the card
start_date = datetime.utcnow()
end_date = datetime.utcnow() + timedelta(days=15)
user_card = upsert["userCard"] user_card = upsert["userCard"]
self.data.item.put_card( self.data.item.put_card(
user_id, user_id,
@ -161,8 +169,26 @@ class Mai2Universe(Mai2Base):
user_card["cardTypeId"], user_card["cardTypeId"],
user_card["charaId"], user_card["charaId"],
user_card["mapId"], user_card["mapId"],
# add the correct start date and also the end date in 15 days
start_date,
end_date,
) )
# get the profile extend to save the new bought card
extend = self.data.profile.get_profile_extend(user_id, self.version)
if extend:
extend = extend._asdict()
# parse the selectedCardList
# 6 = Freedom Pass, 4 = Gold Pass (cardTypeId)
selected_cards: List = extend["selectedCardList"]
# if no pass is already added, add the corresponding pass
if not user_card["cardTypeId"] in selected_cards:
selected_cards.insert(0, user_card["cardTypeId"])
extend["selectedCardList"] = selected_cards
self.data.profile.put_profile_extend(user_id, self.version, extend)
# properly format userPrintDetail for the database # properly format userPrintDetail for the database
upsert.pop("userCard") upsert.pop("userCard")
upsert.pop("serialId") upsert.pop("serialId")
@ -174,8 +200,8 @@ class Mai2Universe(Mai2Base):
"returnCode": 1, "returnCode": 1,
"orderId": 0, "orderId": 0,
"serialId": serial_id, "serialId": serial_id,
"startDate": "2018-01-01 00:00:00", "startDate": datetime.strftime(start_date, Mai2Constants.DATE_TIME_FORMAT),
"endDate": "2038-01-01 00:00:00", "endDate": datetime.strftime(end_date, Mai2Constants.DATE_TIME_FORMAT),
} }
def handle_cm_upsert_user_printlog_api_request(self, data: Dict) -> Dict: def handle_cm_upsert_user_printlog_api_request(self, data: Dict) -> Dict:

View File

@ -1,12 +1,12 @@
from typing import Dict from typing import Dict
from core.config import CoreConfig from core.config import CoreConfig
from titles.mai2.universe import Mai2Universe from titles.mai2.dx import Mai2DX
from titles.mai2.const import Mai2Constants from titles.mai2.const import Mai2Constants
from titles.mai2.config import Mai2Config from titles.mai2.config import Mai2Config
class Mai2UniversePlus(Mai2Universe): class Mai2UniversePlus(Mai2DX):
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None: def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
super().__init__(cfg, game_cfg) super().__init__(cfg, game_cfg)
self.version = Mai2Constants.VER_MAIMAI_DX_UNIVERSE_PLUS self.version = Mai2Constants.VER_MAIMAI_DX_UNIVERSE_PLUS

View File

@ -268,7 +268,7 @@ class OngekiBase:
} }
def handle_get_game_id_list_api_request(self, data: Dict) -> Dict: def handle_get_game_id_list_api_request(self, data: Dict) -> Dict:
game_idlist: list[str, Any] = [] # 1 to 230 & 8000 to 8050 game_idlist: List[str, Any] = [] # 1 to 230 & 8000 to 8050
if data["type"] == 1: if data["type"] == 1:
for i in range(1, 231): for i in range(1, 231):
@ -443,7 +443,7 @@ class OngekiBase:
"userItemList": [], "userItemList": [],
} }
items: list[Dict[str, Any]] = [] items: List[Dict[str, Any]] = []
for i in range(data["nextIndex"] % 10000000000, len(p)): for i in range(data["nextIndex"] % 10000000000, len(p)):
if len(items) > data["maxCount"]: if len(items) > data["maxCount"]:
break break

View File

@ -1,6 +1,6 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta
import json, logging import json, logging
from typing import Any, Dict from typing import Any, Dict, List
import random import random
from core.data import Data from core.data import Data
@ -8,6 +8,7 @@ from core import CoreConfig
from .config import PokkenConfig from .config import PokkenConfig
from .proto import jackal_pb2 from .proto import jackal_pb2
from .database import PokkenData from .database import PokkenData
from .const import PokkenConstants
class PokkenBase: class PokkenBase:
@ -44,19 +45,19 @@ class PokkenBase:
biwa_setting = { biwa_setting = {
"MatchingServer": { "MatchingServer": {
"host": f"https://{self.game_cfg.server.hostname}", "host": f"https://{self.game_cfg.server.hostname}",
"port": self.game_cfg.server.port, "port": self.game_cfg.ports.game,
"url": "/SDAK/100/matching", "url": "/SDAK/100/matching",
}, },
"StunServer": { "StunServer": {
"addr": self.game_cfg.server.hostname, "addr": self.game_cfg.server.stun_server_host,
"port": self.game_cfg.server.port_stun, "port": self.game_cfg.server.stun_server_port,
}, },
"TurnServer": { "TurnServer": {
"addr": self.game_cfg.server.hostname, "addr": self.game_cfg.server.stun_server_host,
"port": self.game_cfg.server.port_turn, "port": self.game_cfg.server.stun_server_port,
}, },
"AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.server.port_admission}", "AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.ports.admission}",
"locationId": 123, "locationId": 123, # FIXME: Get arcade's ID from the database
"logfilename": "JackalMatchingLibrary.log", "logfilename": "JackalMatchingLibrary.log",
"biwalogfilename": "./biwa.log", "biwalogfilename": "./biwa.log",
} }
@ -94,6 +95,7 @@ class PokkenBase:
res.type = jackal_pb2.MessageType.LOAD_CLIENT_SETTINGS res.type = jackal_pb2.MessageType.LOAD_CLIENT_SETTINGS
settings = jackal_pb2.LoadClientSettingsResponseData() settings = jackal_pb2.LoadClientSettingsResponseData()
# TODO: Make configurable
settings.money_magnification = 1 settings.money_magnification = 1
settings.continue_bonus_exp = 100 settings.continue_bonus_exp = 100
settings.continue_fight_money = 100 settings.continue_fight_money = 100
@ -274,6 +276,100 @@ class PokkenBase:
res.result = 1 res.result = 1
res.type = jackal_pb2.MessageType.SAVE_USER res.type = jackal_pb2.MessageType.SAVE_USER
req = request.save_user
user_id = req.banapass_id
tut_flgs: List[int] = []
ach_flgs: List[int] = []
evt_flgs: List[int] = []
evt_params: List[int] = []
get_rank_pts: int = req.get_trainer_rank_point if req.get_trainer_rank_point else 0
get_money: int = req.get_money
get_score_pts: int = req.get_score_point if req.get_score_point else 0
grade_max: int = req.grade_max_num
extra_counter: int = req.extra_counter
evt_reward_get_flg: int = req.event_reward_get_flag
num_continues: int = req.continue_num
total_play_days: int = req.total_play_days
awake_num: int = req.awake_num # ?
use_support_ct: int = req.use_support_num
beat_num: int = req.beat_num # ?
evt_state: int = req.event_state
aid_skill: int = req.aid_skill
last_evt: int = req.last_play_event_id
battle = req.battle_data
mon = req.pokemon_data
p = self.data.profile.touch_profile(user_id)
if p is None or not p:
self.data.profile.create_profile(user_id)
if req.trainer_name_pending is not None and req.trainer_name_pending: # we're saving for the first time
self.data.profile.set_profile_name(user_id, req.trainer_name_pending, req.avatar_gender if req.avatar_gender else None)
for tut_flg in req.tutorial_progress_flag:
tut_flgs.append(tut_flg)
self.data.profile.update_profile_tutorial_flags(user_id, tut_flgs)
for ach_flg in req.achievement_flag:
ach_flgs.append(ach_flg)
self.data.profile.update_profile_tutorial_flags(user_id, ach_flg)
for evt_flg in req.event_achievement_flag:
evt_flgs.append(evt_flg)
for evt_param in req.event_achievement_param:
evt_params.append(evt_param)
self.data.profile.update_profile_event(user_id, evt_state, evt_flgs, evt_params, )
for reward in req.reward_data:
self.data.item.add_reward(user_id, reward.get_category_id, reward.get_content_id, reward.get_type_id)
self.data.profile.add_profile_points(user_id, get_rank_pts, get_money, get_score_pts, grade_max)
self.data.profile.update_support_team(user_id, 1, req.support_set_1[0], req.support_set_1[1])
self.data.profile.update_support_team(user_id, 2, req.support_set_2[0], req.support_set_2[1])
self.data.profile.update_support_team(user_id, 3, req.support_set_3[0], req.support_set_3[1])
self.data.profile.put_pokemon(user_id, mon.char_id, mon.illustration_book_no, mon.bp_point_atk, mon.bp_point_res, mon.bp_point_def, mon.bp_point_sp)
self.data.profile.add_pokemon_xp(user_id, mon.char_id, mon.get_pokemon_exp)
for x in range(len(battle.play_mode)):
self.data.profile.put_pokemon_battle_result(
user_id,
mon.char_id,
PokkenConstants.BATTLE_TYPE(battle.play_mode[x]),
PokkenConstants.BATTLE_RESULT(battle.result[x])
)
self.data.profile.put_stats(
user_id,
battle.ex_ko_num,
battle.wko_num,
battle.timeup_win_num,
battle.cool_ko_num,
battle.perfect_ko_num,
num_continues
)
self.data.profile.put_extra(
user_id,
extra_counter,
evt_reward_get_flg,
total_play_days,
awake_num,
use_support_ct,
beat_num,
aid_skill,
last_evt
)
return res.SerializeToString() return res.SerializeToString()
def handle_save_ingame_log(self, data: jackal_pb2.Request) -> bytes: def handle_save_ingame_log(self, data: jackal_pb2.Request) -> bytes:
@ -302,16 +398,35 @@ class PokkenBase:
self, data: Dict = {}, client_ip: str = "127.0.0.1" self, data: Dict = {}, client_ip: str = "127.0.0.1"
) -> Dict: ) -> Dict:
""" """
"sessionId":"12345678", "sessionId":"12345678",
"A":{
"pcb_id": data["data"]["must"]["pcb_id"],
"gip": client_ip
},
"""
return {
"data": {
"sessionId":"12345678",
"A":{ "A":{
"pcb_id": data["data"]["must"]["pcb_id"], "pcb_id": data["data"]["must"]["pcb_id"],
"gip": client_ip "gip": client_ip
}, },
"list":[] "list":[]
""" }
return {} }
def handle_matching_stop_matching( def handle_matching_stop_matching(
self, data: Dict = {}, client_ip: str = "127.0.0.1" self, data: Dict = {}, client_ip: str = "127.0.0.1"
) -> Dict: ) -> Dict:
return {} return {}
def handle_admission_noop(self, data: Dict, req_ip: str = "127.0.0.1") -> Dict:
return {}
def handle_admission_joinsession(self, data: Dict, req_ip: str = "127.0.0.1") -> Dict:
self.logger.info(f"Admission: JoinSession from {req_ip}")
return {
'data': {
"id": 12345678
}
}

View File

@ -25,30 +25,6 @@ class PokkenServerConfig:
) )
) )
@property
def port(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port", default=9000
)
@property
def port_stun(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_stun", default=9001
)
@property
def port_turn(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_turn", default=9002
)
@property
def port_admission(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_admission", default=9003
)
@property @property
def auto_register(self) -> bool: def auto_register(self) -> bool:
""" """
@ -59,7 +35,51 @@ class PokkenServerConfig:
self.__config, "pokken", "server", "auto_register", default=True self.__config, "pokken", "server", "auto_register", default=True
) )
@property
def enable_matching(self) -> bool:
"""
If global matching should happen
"""
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "enable_matching", default=False
)
@property
def stun_server_host(self) -> str:
"""
Hostname of the EXTERNAL stun server the game should connect to. This is not handled by artemis.
"""
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "stun_server_host", default="stunserver.stunprotocol.org"
)
@property
def stun_server_port(self) -> int:
"""
Port of the EXTERNAL stun server the game should connect to. This is not handled by artemis.
"""
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "stun_server_port", default=3478
)
class PokkenPortsConfig:
def __init__(self, parent_config: "PokkenConfig"):
self.__config = parent_config
@property
def game(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "ports", "game", default=9000
)
@property
def admission(self) -> int:
return CoreConfig.get_config_field(
self.__config, "pokken", "ports", "admission", default=9001
)
class PokkenConfig(dict): class PokkenConfig(dict):
def __init__(self) -> None: def __init__(self) -> None:
self.server = PokkenServerConfig(self) self.server = PokkenServerConfig(self)
self.ports = PokkenPortsConfig(self)

View File

@ -11,14 +11,14 @@ class PokkenConstants:
VERSION_NAMES = "Pokken Tournament" VERSION_NAMES = "Pokken Tournament"
class BATTLE_TYPE(Enum): class BATTLE_TYPE(Enum):
BATTLE_TYPE_TUTORIAL = 1 TUTORIAL = 1
BATTLE_TYPE_AI = 2 AI = 2
BATTLE_TYPE_LAN = 3 LAN = 3
BATTLE_TYPE_WAN = 4 WAN = 4
class BATTLE_RESULT(Enum): class BATTLE_RESULT(Enum):
BATTLE_RESULT_WIN = 1 WIN = 1
BATTLE_RESULT_LOSS = 2 LOSS = 2
@classmethod @classmethod
def game_ver_to_string(cls, ver: int): def game_ver_to_string(cls, ver: int):

View File

@ -1,6 +1,7 @@
from typing import Tuple from typing import Tuple
from twisted.web.http import Request from twisted.web.http import Request
from twisted.web import resource from twisted.web import resource
from twisted.internet import reactor
import json, ast import json, ast
from datetime import datetime from datetime import datetime
import yaml import yaml
@ -11,10 +12,11 @@ from os import path
from google.protobuf.message import DecodeError from google.protobuf.message import DecodeError
from core import CoreConfig, Utils from core import CoreConfig, Utils
from titles.pokken.config import PokkenConfig from .config import PokkenConfig
from titles.pokken.base import PokkenBase from .base import PokkenBase
from titles.pokken.const import PokkenConstants from .const import PokkenConstants
from titles.pokken.proto import jackal_pb2 from .proto import jackal_pb2
from .services import PokkenAdmissionFactory
class PokkenServlet(resource.Resource): class PokkenServlet(resource.Resource):
@ -69,7 +71,7 @@ class PokkenServlet(resource.Resource):
return ( return (
True, True,
f"https://{game_cfg.server.hostname}:{game_cfg.server.port}/{game_code}/$v/", f"https://{game_cfg.server.hostname}:{game_cfg.ports.game}/{game_code}/$v/",
f"{game_cfg.server.hostname}/SDAK/$v/", f"{game_cfg.server.hostname}/SDAK/$v/",
) )
@ -90,8 +92,10 @@ class PokkenServlet(resource.Resource):
return (True, "PKF1") return (True, "PKF1")
def setup(self) -> None: def setup(self) -> None:
# TODO: Setup stun, turn (UDP) and admission (WSS) servers if self.game_cfg.server.enable_matching:
pass reactor.listenTCP(
self.game_cfg.ports.admission, PokkenAdmissionFactory(self.core_cfg, self.game_cfg)
)
def render_POST( def render_POST(
self, request: Request, version: int = 0, endpoints: str = "" self, request: Request, version: int = 0, endpoints: str = ""
@ -128,6 +132,9 @@ class PokkenServlet(resource.Resource):
return ret return ret
def handle_matching(self, request: Request) -> bytes: def handle_matching(self, request: Request) -> bytes:
if not self.game_cfg.server.enable_matching:
return b""
content = request.content.getvalue() content = request.content.getvalue()
client_ip = Utils.get_ip_addr(request) client_ip = Utils.get_ip_addr(request)

View File

@ -31,4 +31,16 @@ class PokkenItemData(BaseData):
Items obtained as rewards Items obtained as rewards
""" """
pass def add_reward(self, user_id: int, category: int, content: int, item_type: int) -> Optional[int]:
sql = insert(item).values(
user=user_id,
category=category,
content=content,
type=item_type,
)
result = self.execute(sql)
if result is None:
self.logger.warn(f"Failed to insert reward for user {user_id}: {category}-{content}-{item_type}")
return None
return result.lastrowid

View File

@ -1,4 +1,4 @@
from typing import Optional, Dict, List from typing import Optional, Dict, List, Union
from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, case from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, case
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON
from sqlalchemy.schema import ForeignKey from sqlalchemy.schema import ForeignKey
@ -125,7 +125,7 @@ pokemon_data = Table(
Column("win_vs_lan", Integer), Column("win_vs_lan", Integer),
Column("battle_num_vs_cpu", Integer), # 2 Column("battle_num_vs_cpu", Integer), # 2
Column("win_cpu", Integer), Column("win_cpu", Integer),
Column("battle_all_num_tutorial", Integer), Column("battle_all_num_tutorial", Integer), # ???
Column("battle_num_tutorial", Integer), # 1? Column("battle_num_tutorial", Integer), # 1?
Column("bp_point_atk", Integer), Column("bp_point_atk", Integer),
Column("bp_point_res", Integer), Column("bp_point_res", Integer),
@ -137,6 +137,14 @@ pokemon_data = Table(
class PokkenProfileData(BaseData): class PokkenProfileData(BaseData):
def touch_profile(self, user_id: int) -> Optional[int]:
sql = select([profile.c.id]).where(profile.c.user == user_id)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()['id']
def create_profile(self, user_id: int) -> Optional[int]: def create_profile(self, user_id: int) -> Optional[int]:
sql = insert(profile).values(user=user_id) sql = insert(profile).values(user=user_id)
conflict = sql.on_duplicate_key_update(user=user_id) conflict = sql.on_duplicate_key_update(user=user_id)
@ -147,11 +155,10 @@ class PokkenProfileData(BaseData):
return None return None
return result.lastrowid return result.lastrowid
def set_profile_name(self, user_id: int, new_name: str) -> None: def set_profile_name(self, user_id: int, new_name: str, gender: Union[int, None] = None) -> None:
sql = ( sql = update(profile).where(profile.c.user == user_id).values(
update(profile) trainer_name=new_name,
.where(profile.c.user == user_id) avatar_gender=gender if gender is not None else profile.c.avatar_gender
.values(trainer_name=new_name)
) )
result = self.execute(sql) result = self.execute(sql)
if result is None: if result is None:
@ -159,13 +166,75 @@ class PokkenProfileData(BaseData):
f"Failed to update pokken profile name for user {user_id}!" f"Failed to update pokken profile name for user {user_id}!"
) )
def update_profile_tutorial_flags(self, user_id: int, tutorial_flags: Dict) -> None: def put_extra(
pass self,
user_id: int,
extra_counter: int,
evt_reward_get_flg: int,
total_play_days: int,
awake_num: int,
use_support_ct: int,
beat_num: int,
aid_skill: int,
last_evt: int
) -> None:
sql = update(profile).where(profile.c.user == user_id).values(
extra_counter=extra_counter,
event_reward_get_flag=evt_reward_get_flg,
total_play_days=total_play_days,
awake_num=awake_num,
use_support_num=use_support_ct,
beat_num=beat_num,
aid_skill=aid_skill,
last_play_event_id=last_evt
)
result = self.execute(sql)
if result is None:
self.logger.error(f"Failed to put extra data for user {user_id}")
def update_profile_tutorial_flags(self, user_id: int, tutorial_flags: List) -> None:
sql = update(profile).where(profile.c.user == user_id).values(
tutorial_progress_flag=tutorial_flags,
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"Failed to update pokken profile tutorial flags for user {user_id}!"
)
def update_profile_achievement_flags(self, user_id: int, achievement_flags: List) -> None:
sql = update(profile).where(profile.c.user == user_id).values(
achievement_flag=achievement_flags,
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"Failed to update pokken profile achievement flags for user {user_id}!"
)
def update_profile_event(self, user_id: int, event_state: List, event_flags: List[int], event_param: List[int], last_evt: int = None) -> None:
sql = update(profile).where(profile.c.user == user_id).values(
event_state=event_state,
event_achievement_flag=event_flags,
event_achievement_param=event_param,
last_play_event_id=last_evt if last_evt is not None else profile.c.last_play_event_id,
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"Failed to update pokken profile event state for user {user_id}!"
)
def add_profile_points( def add_profile_points(
self, user_id: int, rank_pts: int, money: int, score_pts: int self, user_id: int, rank_pts: int, money: int, score_pts: int, grade_max: int
) -> None: ) -> None:
pass sql = update(profile).where(profile.c.user == user_id).values(
trainer_rank_point = profile.c.trainer_rank_point + rank_pts,
fight_money = profile.c.fight_money + money,
score_point = profile.c.score_point + score_pts,
grade_max_num = grade_max
)
def get_profile(self, user_id: int) -> Optional[Row]: def get_profile(self, user_id: int) -> Optional[Row]:
sql = profile.select(profile.c.user == user_id) sql = profile.select(profile.c.user == user_id)
@ -174,18 +243,53 @@ class PokkenProfileData(BaseData):
return None return None
return result.fetchone() return result.fetchone()
def put_pokemon_data( def put_pokemon(
self, self,
user_id: int, user_id: int,
pokemon_id: int, pokemon_id: int,
illust_no: int, illust_no: int,
get_exp: int,
atk: int, atk: int,
res: int, res: int,
defe: int, defe: int,
sp: int, sp: int
) -> Optional[int]: ) -> Optional[int]:
pass sql = insert(pokemon_data).values(
user=user_id,
char_id=pokemon_id,
illustration_book_no=illust_no,
bp_point_atk=atk,
bp_point_res=res,
bp_point_defe=defe,
bp_point_sp=sp,
)
conflict = sql.on_duplicate_key_update(
illustration_book_no=illust_no,
bp_point_atk=atk,
bp_point_res=res,
bp_point_defe=defe,
bp_point_sp=sp,
)
result = self.execute(conflict)
if result is None:
self.logger.warn(f"Failed to insert pokemon ID {pokemon_id} for user {user_id}")
return None
return result.lastrowid
def add_pokemon_xp(
self,
user_id: int,
pokemon_id: int,
xp: int
) -> None:
sql = update(pokemon_data).where(and_(pokemon_data.c.user==user_id, pokemon_data.c.char_id==pokemon_id)).values(
pokemon_exp=pokemon_data.c.pokemon_exp + xp
)
result = self.execute(sql)
if result is None:
self.logger.warn(f"Failed to add {xp} XP to pokemon ID {pokemon_id} for user {user_id}")
def get_pokemon_data(self, user_id: int, pokemon_id: int) -> Optional[Row]: def get_pokemon_data(self, user_id: int, pokemon_id: int) -> Optional[Row]:
pass pass
@ -193,13 +297,29 @@ class PokkenProfileData(BaseData):
def get_all_pokemon_data(self, user_id: int) -> Optional[List[Row]]: def get_all_pokemon_data(self, user_id: int) -> Optional[List[Row]]:
pass pass
def put_results( def put_pokemon_battle_result(
self, user_id: int, pokemon_id: int, match_type: int, match_result: int self, user_id: int, pokemon_id: int, match_type: PokkenConstants.BATTLE_TYPE, match_result: PokkenConstants.BATTLE_RESULT
) -> None: ) -> None:
""" """
Records the match stats (type and win/loss) for the pokemon and profile Records the match stats (type and win/loss) for the pokemon and profile
""" """
pass sql = update(pokemon_data).where(and_(pokemon_data.c.user==user_id, pokemon_data.c.char_id==pokemon_id)).values(
battle_num_tutorial=pokemon_data.c.battle_num_tutorial + 1 if match_type==PokkenConstants.BATTLE_TYPE.TUTORIAL else pokemon_data.c.battle_num_tutorial,
battle_all_num_tutorial=pokemon_data.c.battle_all_num_tutorial + 1 if match_type==PokkenConstants.BATTLE_TYPE.TUTORIAL else pokemon_data.c.battle_all_num_tutorial,
battle_num_vs_cpu=pokemon_data.c.battle_num_vs_cpu + 1 if match_type==PokkenConstants.BATTLE_TYPE.AI else pokemon_data.c.battle_num_vs_cpu,
win_cpu=pokemon_data.c.win_cpu + 1 if match_type==PokkenConstants.BATTLE_TYPE.AI and match_result==PokkenConstants.BATTLE_RESULT.WIN else pokemon_data.c.win_cpu,
battle_num_vs_lan=pokemon_data.c.battle_num_vs_lan + 1 if match_type==PokkenConstants.BATTLE_TYPE.LAN else pokemon_data.c.battle_num_vs_lan,
win_vs_lan=pokemon_data.c.win_vs_lan + 1 if match_type==PokkenConstants.BATTLE_TYPE.LAN and match_result==PokkenConstants.BATTLE_RESULT.WIN else pokemon_data.c.win_vs_lan,
battle_num_vs_wan=pokemon_data.c.battle_num_vs_wan + 1 if match_type==PokkenConstants.BATTLE_TYPE.WAN else pokemon_data.c.battle_num_vs_wan,
win_vs_wan=pokemon_data.c.win_vs_wan + 1 if match_type==PokkenConstants.BATTLE_TYPE.WAN and match_result==PokkenConstants.BATTLE_RESULT.WIN else pokemon_data.c.win_vs_wan,
)
result = self.execute(sql)
if result is None:
self.logger.warn(f"Failed to record match stats for user {user_id}'s pokemon {pokemon_id} (type {match_type.name} | result {match_result.name})")
def put_stats( def put_stats(
self, self,
@ -214,4 +334,29 @@ class PokkenProfileData(BaseData):
""" """
Records profile stats Records profile stats
""" """
pass sql = update(profile).where(profile.c.user==user_id).values(
ex_ko_num=profile.c.ex_ko_num + exkos,
wko_num=profile.c.wko_num + wkos,
timeup_win_num=profile.c.timeup_win_num + timeout_wins,
cool_ko_num=profile.c.cool_ko_num + cool_kos,
perfect_ko_num=profile.c.perfect_ko_num + perfects,
continue_num=continues,
)
result = self.execute(sql)
if result is None:
self.logger.warn(f"Failed to update stats for user {user_id}")
def update_support_team(self, user_id: int, support_id: int, support1: int = 4294967295, support2: int = 4294967295) -> None:
sql = update(profile).where(profile.c.user==user_id).values(
support_set_1_1=support1 if support_id == 1 else profile.c.support_set_1_1,
support_set_1_2=support2 if support_id == 1 else profile.c.support_set_1_2,
support_set_2_1=support1 if support_id == 2 else profile.c.support_set_2_1,
support_set_2_2=support2 if support_id == 2 else profile.c.support_set_2_2,
support_set_3_1=support1 if support_id == 3 else profile.c.support_set_3_1,
support_set_3_2=support2 if support_id == 3 else profile.c.support_set_3_2,
)
result = self.execute(sql)
if result is None:
self.logger.warn(f"Failed to update support team {support_id} for user {user_id}")

66
titles/pokken/services.py Normal file
View File

@ -0,0 +1,66 @@
from twisted.internet.interfaces import IAddress
from twisted.internet.protocol import Protocol
from autobahn.twisted.websocket import WebSocketServerProtocol, WebSocketServerFactory
from autobahn.websocket.types import ConnectionRequest
from typing import Dict
import logging
import json
from core.config import CoreConfig
from .config import PokkenConfig
from .base import PokkenBase
class PokkenAdmissionProtocol(WebSocketServerProtocol):
def __init__(self, cfg: CoreConfig, game_cfg: PokkenConfig):
super().__init__()
self.core_config = cfg
self.game_config = game_cfg
self.logger = logging.getLogger("pokken")
self.base = PokkenBase(cfg, game_cfg)
def onConnect(self, request: ConnectionRequest) -> None:
self.logger.debug(f"Admission: Connection from {request.peer}")
def onClose(self, wasClean: bool, code: int, reason: str) -> None:
self.logger.debug(f"Admission: Connection with {self.transport.getPeer().host} closed {'cleanly ' if wasClean else ''}with code {code} - {reason}")
def onMessage(self, payload, isBinary: bool) -> None:
msg: Dict = json.loads(payload)
self.logger.debug(f"Admission: Message from {self.transport.getPeer().host}:{self.transport.getPeer().port} - {msg}")
api = msg.get("api", "noop")
handler = getattr(self.base, f"handle_admission_{api.lower()}")
resp = handler(msg, self.transport.getPeer().host)
if resp is None:
resp = {}
if "type" not in resp:
resp['type'] = "res"
if "data" not in resp:
resp['data'] = {}
if "api" not in resp:
resp['api'] = api
if "result" not in resp:
resp['result'] = 'true'
self.logger.debug(f"Websocket response: {resp}")
self.sendMessage(json.dumps(resp).encode(), isBinary)
class PokkenAdmissionFactory(WebSocketServerFactory):
protocol = PokkenAdmissionProtocol
def __init__(
self,
cfg: CoreConfig,
game_cfg: PokkenConfig
) -> None:
self.core_config = cfg
self.game_config = game_cfg
super().__init__(f"ws://{self.game_config.server.hostname}:{self.game_config.ports.admission}")
def buildProtocol(self, addr: IAddress) -> Protocol:
p = self.protocol(self.core_config, self.game_config)
p.factory = self
return p

View File

@ -3,7 +3,9 @@ import json, logging
from typing import Any, Dict from typing import Any, Dict
import random import random
import struct import struct
import csv from csv import *
from random import choice
import random as rand
from core.data import Data from core.data import Data
from core import CoreConfig from core import CoreConfig
@ -60,9 +62,26 @@ class SaoBase:
def handle_c11e(self, request: Any) -> bytes: def handle_c11e(self, request: Any) -> bytes:
#common/get_auth_card_data #common/get_auth_card_data
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"cabinet_type" / Int8ub, # cabinet_type is a byte
"auth_type" / Int8ub, # auth_type is a byte
"store_id_size" / Rebuild(Int32ub, len_(this.store_id) * 2), # calculates the length of the store_id
"store_id" / PaddedString(this.store_id_size, "utf_16_le"), # store_id is a (zero) padded string
"serial_no_size" / Rebuild(Int32ub, len_(this.serial_no) * 2), # calculates the length of the serial_no
"serial_no" / PaddedString(this.serial_no_size, "utf_16_le"), # serial_no is a (zero) padded string
"access_code_size" / Rebuild(Int32ub, len_(this.access_code) * 2), # calculates the length of the access_code
"access_code" / PaddedString(this.access_code_size, "utf_16_le"), # access_code is a (zero) padded string
"chip_id_size" / Rebuild(Int32ub, len_(this.chip_id) * 2), # calculates the length of the chip_id
"chip_id" / PaddedString(this.chip_id_size, "utf_16_le"), # chip_id is a (zero) padded string
)
req_data = req_struct.parse(req)
access_code = req_data.access_code
#Check authentication #Check authentication
access_code = bytes.fromhex(request[188:268]).decode("utf-16le")
user_id = self.core_data.card.get_user_id_from_card( access_code ) user_id = self.core_data.card.get_user_id_from_card( access_code )
if not user_id: if not user_id:
@ -79,6 +98,13 @@ class SaoBase:
self.game_data.item.put_hero_log(user_id, 102000010, 1, 0, 103000006, 0, 30086, 1001, 1002, 1003, 1005) self.game_data.item.put_hero_log(user_id, 102000010, 1, 0, 103000006, 0, 30086, 1001, 1002, 1003, 1005)
self.game_data.item.put_hero_log(user_id, 103000010, 1, 0, 112000009, 0, 30086, 1001, 1002, 1003, 1005) self.game_data.item.put_hero_log(user_id, 103000010, 1, 0, 112000009, 0, 30086, 1001, 1002, 1003, 1005)
self.game_data.item.put_hero_party(user_id, 0, 101000010, 102000010, 103000010) self.game_data.item.put_hero_party(user_id, 0, 101000010, 102000010, 103000010)
self.game_data.item.put_equipment_data(user_id, 101000016, 1, 200, 0, 0, 0)
self.game_data.item.put_equipment_data(user_id, 103000006, 1, 200, 0, 0, 0)
self.game_data.item.put_equipment_data(user_id, 112000009, 1, 200, 0, 0, 0)
self.game_data.item.put_player_quest(user_id, 1001, True, 300, 0, 0, 1)
# Force the tutorial stage to be completed due to potential crash in-game
self.logger.info(f"User Authenticated: { access_code } | { user_id }") self.logger.info(f"User Authenticated: { access_code } | { user_id }")
@ -87,6 +113,18 @@ class SaoBase:
if user_id and not profile_data: if user_id and not profile_data:
profile_id = self.game_data.profile.create_profile(user_id) profile_id = self.game_data.profile.create_profile(user_id)
self.game_data.item.put_hero_log(user_id, 101000010, 1, 0, 101000016, 0, 30086, 1001, 1002, 1003, 1005)
self.game_data.item.put_hero_log(user_id, 102000010, 1, 0, 103000006, 0, 30086, 1001, 1002, 1003, 1005)
self.game_data.item.put_hero_log(user_id, 103000010, 1, 0, 112000009, 0, 30086, 1001, 1002, 1003, 1005)
self.game_data.item.put_hero_party(user_id, 0, 101000010, 102000010, 103000010)
self.game_data.item.put_equipment_data(user_id, 101000016, 1, 200, 0, 0, 0)
self.game_data.item.put_equipment_data(user_id, 103000006, 1, 200, 0, 0, 0)
self.game_data.item.put_equipment_data(user_id, 112000009, 1, 200, 0, 0, 0)
self.game_data.item.put_player_quest(user_id, 1001, True, 300, 0, 0, 1)
# Force the tutorial stage to be completed due to potential crash in-game
profile_data = self.game_data.profile.get_profile(user_id) profile_data = self.game_data.profile.get_profile(user_id)
resp = SaoGetAuthCardDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data) resp = SaoGetAuthCardDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data)
@ -99,7 +137,28 @@ class SaoBase:
def handle_c104(self, request: Any) -> bytes: def handle_c104(self, request: Any) -> bytes:
#common/login #common/login
access_code = bytes.fromhex(request[228:308]).decode("utf-16le") req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"cabinet_type" / Int8ub, # cabinet_type is a byte
"auth_type" / Int8ub, # auth_type is a byte
"store_id_size" / Rebuild(Int32ub, len_(this.store_id) * 2), # calculates the length of the store_id
"store_id" / PaddedString(this.store_id_size, "utf_16_le"), # store_id is a (zero) padded string
"store_name_size" / Rebuild(Int32ub, len_(this.store_name) * 2), # calculates the length of the store_name
"store_name" / PaddedString(this.store_name_size, "utf_16_le"), # store_name is a (zero) padded string
"serial_no_size" / Rebuild(Int32ub, len_(this.serial_no) * 2), # calculates the length of the serial_no
"serial_no" / PaddedString(this.serial_no_size, "utf_16_le"), # serial_no is a (zero) padded string
"access_code_size" / Rebuild(Int32ub, len_(this.access_code) * 2), # calculates the length of the access_code
"access_code" / PaddedString(this.access_code_size, "utf_16_le"), # access_code is a (zero) padded string
"chip_id_size" / Rebuild(Int32ub, len_(this.chip_id) * 2), # calculates the length of the chip_id
"chip_id" / PaddedString(this.chip_id_size, "utf_16_le"), # chip_id is a (zero) padded string
"free_ticket_distribution_target_flag" / Int8ub, # free_ticket_distribution_target_flag is a byte
)
req_data = req_struct.parse(req)
access_code = req_data.access_code
user_id = self.core_data.card.get_user_id_from_card( access_code ) user_id = self.core_data.card.get_user_id_from_card( access_code )
profile_data = self.game_data.profile.get_profile(user_id) profile_data = self.game_data.profile.get_profile(user_id)
@ -118,7 +177,17 @@ class SaoBase:
def handle_c500(self, request: Any) -> bytes: def handle_c500(self, request: Any) -> bytes:
#user_info/get_user_basic_data #user_info/get_user_basic_data
user_id = bytes.fromhex(request[88:112]).decode("utf-16le") req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
profile_data = self.game_data.profile.get_profile(user_id) profile_data = self.game_data.profile.get_profile(user_id)
resp = SaoGetUserBasicDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data) resp = SaoGetUserBasicDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data)
@ -127,6 +196,7 @@ class SaoBase:
def handle_c600(self, request: Any) -> bytes: def handle_c600(self, request: Any) -> bytes:
#have_object/get_hero_log_user_data_list #have_object/get_hero_log_user_data_list
req = bytes.fromhex(request)[24:] req = bytes.fromhex(request)[24:]
req_struct = Struct( req_struct = Struct(
Padding(16), Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id "user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
@ -143,16 +213,38 @@ class SaoBase:
def handle_c602(self, request: Any) -> bytes: def handle_c602(self, request: Any) -> bytes:
#have_object/get_equipment_user_data_list #have_object/get_equipment_user_data_list
equipmentIdsData = self.game_data.static.get_equipment_ids(0, True) req = bytes.fromhex(request)[24:]
resp = SaoGetEquipmentUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, equipmentIdsData) req_struct = Struct(
Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
equipment_data = self.game_data.item.get_user_equipments(user_id)
resp = SaoGetEquipmentUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, equipment_data)
return resp.make() return resp.make()
def handle_c604(self, request: Any) -> bytes: def handle_c604(self, request: Any) -> bytes:
#have_object/get_item_user_data_list #have_object/get_item_user_data_list
itemIdsData = self.game_data.static.get_item_ids(0, True) req = bytes.fromhex(request)[24:]
resp = SaoGetItemUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, itemIdsData) req_struct = Struct(
Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
item_data = self.game_data.item.get_user_items(user_id)
resp = SaoGetItemUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, item_data)
return resp.make() return resp.make()
def handle_c606(self, request: Any) -> bytes: def handle_c606(self, request: Any) -> bytes:
@ -171,7 +263,17 @@ class SaoBase:
def handle_c608(self, request: Any) -> bytes: def handle_c608(self, request: Any) -> bytes:
#have_object/get_episode_append_data_list #have_object/get_episode_append_data_list
user_id = bytes.fromhex(request[88:112]).decode("utf-16le") req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
profile_data = self.game_data.profile.get_profile(user_id) profile_data = self.game_data.profile.get_profile(user_id)
resp = SaoGetEpisodeAppendDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data) resp = SaoGetEpisodeAppendDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data)
@ -179,8 +281,8 @@ class SaoBase:
def handle_c804(self, request: Any) -> bytes: def handle_c804(self, request: Any) -> bytes:
#custom/get_party_data_list #custom/get_party_data_list
req = bytes.fromhex(request)[24:] req = bytes.fromhex(request)[24:]
req_struct = Struct( req_struct = Struct(
Padding(16), Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id "user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
@ -210,8 +312,20 @@ class SaoBase:
def handle_c900(self, request: Any) -> bytes: def handle_c900(self, request: Any) -> bytes:
#quest/get_quest_scene_user_data_list // QuestScene.csv #quest/get_quest_scene_user_data_list // QuestScene.csv
questIdsData = self.game_data.static.get_quests_ids(0, True) req = bytes.fromhex(request)[24:]
resp = SaoGetQuestSceneUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, questIdsData)
req_struct = Struct(
Padding(16),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
quest_data = self.game_data.item.get_quest_logs(user_id)
resp = SaoGetQuestSceneUserDataListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, quest_data)
return resp.make() return resp.make()
def handle_c400(self, request: Any) -> bytes: def handle_c400(self, request: Any) -> bytes:
@ -229,6 +343,159 @@ class SaoBase:
resp = SaoCheckProfileCardUsedRewardResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1) resp = SaoCheckProfileCardUsedRewardResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make() return resp.make()
def handle_c814(self, request: Any) -> bytes:
#custom/synthesize_enhancement_hero_log
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(20),
"ticket_id" / Bytes(1), # needs to be parsed as an int
Padding(1),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
"origin_user_hero_log_id_size" / Rebuild(Int32ub, len_(this.origin_user_hero_log_id) * 2), # calculates the length of the origin_user_hero_log_id
"origin_user_hero_log_id" / PaddedString(this.origin_user_hero_log_id_size, "utf_16_le"), # origin_user_hero_log_id is a (zero) padded string
Padding(3),
"material_common_reward_user_data_list_length" / Rebuild(Int8ub, len_(this.material_common_reward_user_data_list)), # material_common_reward_user_data_list is a byte,
"material_common_reward_user_data_list" / Array(this.material_common_reward_user_data_list_length, Struct(
"common_reward_type" / Int16ub, # team_no is a byte
"user_common_reward_id_size" / Rebuild(Int32ub, len_(this.user_common_reward_id) * 2), # calculates the length of the user_common_reward_id
"user_common_reward_id" / PaddedString(this.user_common_reward_id_size, "utf_16_le"), # user_common_reward_id is a (zero) padded string
)),
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
synthesize_hero_log_data = self.game_data.item.get_hero_log(req_data.user_id, req_data.origin_user_hero_log_id)
for i in range(0,req_data.material_common_reward_user_data_list_length):
itemList = self.game_data.static.get_item_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
heroList = self.game_data.static.get_hero_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
equipmentList = self.game_data.static.get_equipment_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if itemList:
hero_exp = 2000 + int(synthesize_hero_log_data["log_exp"])
self.game_data.item.remove_item(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if equipmentList:
equipment_data = self.game_data.item.get_user_equipment(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
hero_exp = int(equipment_data["enhancement_exp"]) + int(synthesize_hero_log_data["log_exp"])
self.game_data.item.remove_equipment(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if heroList:
hero_data = self.game_data.item.get_hero_log(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
hero_exp = int(hero_data["log_exp"]) + int(synthesize_hero_log_data["log_exp"])
self.game_data.item.remove_hero_log(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
self.game_data.item.put_hero_log(
user_id,
int(req_data.origin_user_hero_log_id),
synthesize_hero_log_data["log_level"],
hero_exp,
synthesize_hero_log_data["main_weapon"],
synthesize_hero_log_data["sub_equipment"],
synthesize_hero_log_data["skill_slot1_skill_id"],
synthesize_hero_log_data["skill_slot2_skill_id"],
synthesize_hero_log_data["skill_slot3_skill_id"],
synthesize_hero_log_data["skill_slot4_skill_id"],
synthesize_hero_log_data["skill_slot5_skill_id"]
)
profile = self.game_data.profile.get_profile(req_data.user_id)
new_col = int(profile["own_col"]) - 100
# Update profile
self.game_data.profile.put_profile(
req_data.user_id,
profile["user_type"],
profile["nick_name"],
profile["rank_num"],
profile["rank_exp"],
new_col,
profile["own_vp"],
profile["own_yui_medal"],
profile["setting_title_id"]
)
# Load the item again to push to the response handler
synthesize_hero_log_data = self.game_data.item.get_hero_log(req_data.user_id, req_data.origin_user_hero_log_id)
resp = SaoSynthesizeEnhancementHeroLogResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, synthesize_hero_log_data)
return resp.make()
def handle_c816(self, request: Any) -> bytes:
#custom/synthesize_enhancement_equipment
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(20),
"ticket_id" / Bytes(1), # needs to be parsed as an int
Padding(1),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
"origin_user_equipment_id_size" / Rebuild(Int32ub, len_(this.origin_user_equipment_id) * 2), # calculates the length of the origin_user_equipment_id
"origin_user_equipment_id" / PaddedString(this.origin_user_equipment_id_size, "utf_16_le"), # origin_user_equipment_id is a (zero) padded string
Padding(3),
"material_common_reward_user_data_list_length" / Rebuild(Int8ub, len_(this.material_common_reward_user_data_list)), # material_common_reward_user_data_list is a byte,
"material_common_reward_user_data_list" / Array(this.material_common_reward_user_data_list_length, Struct(
"common_reward_type" / Int16ub, # team_no is a byte
"user_common_reward_id_size" / Rebuild(Int32ub, len_(this.user_common_reward_id) * 2), # calculates the length of the user_common_reward_id
"user_common_reward_id" / PaddedString(this.user_common_reward_id_size, "utf_16_le"), # user_common_reward_id is a (zero) padded string
)),
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
synthesize_equipment_data = self.game_data.item.get_user_equipment(req_data.user_id, req_data.origin_user_equipment_id)
for i in range(0,req_data.material_common_reward_user_data_list_length):
itemList = self.game_data.static.get_item_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
heroList = self.game_data.static.get_hero_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
equipmentList = self.game_data.static.get_equipment_id(req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if itemList:
equipment_exp = 2000 + int(synthesize_equipment_data["enhancement_exp"])
self.game_data.item.remove_item(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if equipmentList:
equipment_data = self.game_data.item.get_user_equipment(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
equipment_exp = int(equipment_data["enhancement_exp"]) + int(synthesize_equipment_data["enhancement_exp"])
self.game_data.item.remove_equipment(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
if heroList:
hero_data = self.game_data.item.get_hero_log(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
equipment_exp = int(hero_data["log_exp"]) + int(synthesize_equipment_data["enhancement_exp"])
self.game_data.item.remove_hero_log(req_data.user_id, req_data.material_common_reward_user_data_list[i].user_common_reward_id)
self.game_data.item.put_equipment_data(req_data.user_id, int(req_data.origin_user_equipment_id), synthesize_equipment_data["enhancement_value"], equipment_exp, 0, 0, 0)
profile = self.game_data.profile.get_profile(req_data.user_id)
new_col = int(profile["own_col"]) - 100
# Update profile
self.game_data.profile.put_profile(
req_data.user_id,
profile["user_type"],
profile["nick_name"],
profile["rank_num"],
profile["rank_exp"],
new_col,
profile["own_vp"],
profile["own_yui_medal"],
profile["setting_title_id"]
)
# Load the item again to push to the response handler
synthesize_equipment_data = self.game_data.item.get_user_equipment(req_data.user_id, req_data.origin_user_equipment_id)
resp = SaoSynthesizeEnhancementEquipmentResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, synthesize_equipment_data)
return resp.make()
def handle_c806(self, request: Any) -> bytes: def handle_c806(self, request: Any) -> bytes:
#custom/change_party #custom/change_party
req = bytes.fromhex(request)[24:] req = bytes.fromhex(request)[24:]
@ -270,6 +537,7 @@ class SaoBase:
req_data = req_struct.parse(req) req_data = req_struct.parse(req)
user_id = req_data.user_id user_id = req_data.user_id
party_hero_list = []
for party_team in req_data.party_data_list[0].party_team_data_list: for party_team in req_data.party_data_list[0].party_team_data_list:
hero_data = self.game_data.item.get_hero_log(user_id, party_team["user_hero_log_id"]) hero_data = self.game_data.item.get_hero_log(user_id, party_team["user_hero_log_id"])
@ -294,12 +562,15 @@ class SaoBase:
party_team["skill_slot5_skill_id"] party_team["skill_slot5_skill_id"]
) )
party_hero_list.append(party_team["user_hero_log_id"])
self.game_data.item.put_hero_party(user_id, req_data.party_data_list[0].party_team_data_list[0].user_party_team_id, party_hero_list[0], party_hero_list[1], party_hero_list[2])
resp = SaoNoopResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1) resp = SaoNoopResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make() return resp.make()
def handle_c904(self, request: Any) -> bytes: def handle_c904(self, request: Any) -> bytes:
#quest/episode_play_start #quest/episode_play_start
req = bytes.fromhex(request)[24:] req = bytes.fromhex(request)[24:]
req_struct = Struct( req_struct = Struct(
@ -432,8 +703,349 @@ class SaoBase:
req_data = req_struct.parse(req) req_data = req_struct.parse(req)
# Add stage progression to database
user_id = req_data.user_id
episode_id = req_data.episode_id
quest_clear_flag = bool(req_data.score_data[0].boss_destroying_num)
clear_time = req_data.score_data[0].clear_time
combo_num = req_data.score_data[0].combo_num
total_damage = req_data.score_data[0].total_damage
concurrent_destroying_num = req_data.score_data[0].concurrent_destroying_num
profile = self.game_data.profile.get_profile(user_id)
vp = int(profile["own_vp"])
exp = int(profile["rank_exp"]) + 100 #always 100 extra exp for some reason
col = int(profile["own_col"]) + int(req_data.base_get_data[0].get_col)
if quest_clear_flag is True:
# Save stage progression - to be revised to avoid saving worse score
# Reference Episode.csv but Chapter 2,3,4 and 5 reports id -1, match using /10 + last digits
if episode_id > 10000 and episode_id < 11000:
# Starts at 1001
episode_id = episode_id - 9000
elif episode_id > 20000:
# Starts at 2001
stage_id = str(episode_id)[-2:]
episode_id = episode_id / 10
episode_id = int(episode_id) + int(stage_id)
# Match episode_id with the questSceneId saved in the DB through sortNo
questId = self.game_data.static.get_quests_id(episode_id)
episode_id = questId[2]
self.game_data.item.put_player_quest(user_id, episode_id, quest_clear_flag, clear_time, combo_num, total_damage, concurrent_destroying_num)
vp = int(profile["own_vp"]) + 10 #always 10 VP per cleared stage
# Calculate level based off experience and the CSV list
with open(r'titles/sao/data/PlayerRank.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
data = []
rowf = False
for row in csv_reader:
if rowf==False:
rowf=True
else:
data.append(row)
for i in range(0,len(data)):
if exp>=int(data[i][1]) and exp<int(data[i+1][1]):
player_level = int(data[i][0])
break
# Update profile
updated_profile = self.game_data.profile.put_profile(
user_id,
profile["user_type"],
profile["nick_name"],
player_level,
exp,
col,
vp,
profile["own_yui_medal"],
profile["setting_title_id"]
)
# Update heroes from the used party
play_session = self.game_data.item.get_session(user_id)
session_party = self.game_data.item.get_hero_party(user_id, play_session["user_party_team_id"])
hero_list = []
hero_list.append(session_party["user_hero_log_id_1"])
hero_list.append(session_party["user_hero_log_id_2"])
hero_list.append(session_party["user_hero_log_id_3"])
for i in range(0,len(hero_list)):
hero_data = self.game_data.item.get_hero_log(user_id, hero_list[i])
log_exp = int(hero_data["log_exp"]) + int(req_data.base_get_data[0].get_hero_log_exp)
# Calculate hero level based off experience and the CSV list
with open(r'titles/sao/data/HeroLogLevel.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
data = []
rowf = False
for row in csv_reader:
if rowf==False:
rowf=True
else:
data.append(row)
for e in range(0,len(data)):
if log_exp>=int(data[e][1]) and log_exp<int(data[e+1][1]):
hero_level = int(data[e][0])
break
self.game_data.item.put_hero_log(
user_id,
hero_data["user_hero_log_id"],
hero_level,
log_exp,
hero_data["main_weapon"],
hero_data["sub_equipment"],
hero_data["skill_slot1_skill_id"],
hero_data["skill_slot2_skill_id"],
hero_data["skill_slot3_skill_id"],
hero_data["skill_slot4_skill_id"],
hero_data["skill_slot5_skill_id"]
)
# Grab the rare loot from the table, match it with the right item and then push to the player profile
json_data = {"data": []}
for r in range(0,req_data.get_rare_drop_data_list_length):
rewardList = self.game_data.static.get_rare_drop_id(int(req_data.get_rare_drop_data_list[r].quest_rare_drop_id))
commonRewardId = rewardList["commonRewardId"]
heroList = self.game_data.static.get_hero_id(commonRewardId)
equipmentList = self.game_data.static.get_equipment_id(commonRewardId)
itemList = self.game_data.static.get_item_id(commonRewardId)
if heroList:
self.game_data.item.put_hero_log(user_id, commonRewardId, 1, 0, 101000016, 0, 30086, 1001, 1002, 0, 0)
if equipmentList:
self.game_data.item.put_equipment_data(user_id, commonRewardId, 1, 200, 0, 0, 0)
if itemList:
self.game_data.item.put_item(user_id, commonRewardId)
# Generate random hero(es) based off the response
for a in range(0,req_data.get_unanalyzed_log_tmp_reward_data_list_length):
with open('titles/sao/data/RewardTable.csv', 'r') as f:
keys_unanalyzed = next(f).strip().split(',')
data_unanalyzed = list(DictReader(f, fieldnames=keys_unanalyzed))
randomized_unanalyzed_id = choice(data_unanalyzed)
while int(randomized_unanalyzed_id['UnanalyzedLogGradeId']) != req_data.get_unanalyzed_log_tmp_reward_data_list[a].unanalyzed_log_grade_id:
randomized_unanalyzed_id = choice(data_unanalyzed)
heroList = self.game_data.static.get_hero_id(randomized_unanalyzed_id['CommonRewardId'])
equipmentList = self.game_data.static.get_equipment_id(randomized_unanalyzed_id['CommonRewardId'])
itemList = self.game_data.static.get_item_id(randomized_unanalyzed_id['CommonRewardId'])
if heroList:
self.game_data.item.put_hero_log(user_id, randomized_unanalyzed_id['CommonRewardId'], 1, 0, 101000016, 0, 30086, 1001, 1002, 0, 0)
if equipmentList:
self.game_data.item.put_equipment_data(user_id, randomized_unanalyzed_id['CommonRewardId'], 1, 200, 0, 0, 0)
if itemList:
self.game_data.item.put_item(user_id, randomized_unanalyzed_id['CommonRewardId'])
json_data["data"].append(randomized_unanalyzed_id['CommonRewardId'])
# Send response
self.game_data.item.create_end_session(user_id, episode_id, quest_clear_flag, json_data["data"])
resp = SaoEpisodePlayEndResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_c914(self, request: Any) -> bytes:
#quest/trial_tower_play_start
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"ticket_id_size" / Rebuild(Int32ub, len_(this.ticket_id) * 2), # calculates the length of the ticket_id
"ticket_id" / PaddedString(this.ticket_id_size, "utf_16_le"), # ticket_id is a (zero) padded string
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
"trial_tower_id" / Int32ub, # trial_tower_id is an int
"play_mode" / Int8ub, # play_mode is a byte
Padding(3),
"play_start_request_data_length" / Rebuild(Int8ub, len_(this.play_start_request_data)), # play_start_request_data_length is a byte,
"play_start_request_data" / Array(this.play_start_request_data_length, Struct(
"user_party_id_size" / Rebuild(Int32ub, len_(this.user_party_id) * 2), # calculates the length of the user_party_id
"user_party_id" / PaddedString(this.user_party_id_size, "utf_16_le"), # user_party_id is a (zero) padded string
"appoint_leader_resource_card_code_size" / Rebuild(Int32ub, len_(this.appoint_leader_resource_card_code) * 2), # calculates the length of the total_damage
"appoint_leader_resource_card_code" / PaddedString(this.appoint_leader_resource_card_code_size, "utf_16_le"), # total_damage is a (zero) padded string
"use_profile_card_code_size" / Rebuild(Int32ub, len_(this.use_profile_card_code) * 2), # calculates the length of the total_damage
"use_profile_card_code" / PaddedString(this.use_profile_card_code_size, "utf_16_le"), # use_profile_card_code is a (zero) padded string
"quest_drop_boost_apply_flag" / Int8ub, # quest_drop_boost_apply_flag is a byte
)),
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
floor_id = req_data.trial_tower_id
profile_data = self.game_data.profile.get_profile(user_id)
self.game_data.item.create_session(
user_id,
int(req_data.play_start_request_data[0].user_party_id),
req_data.trial_tower_id,
req_data.play_mode,
req_data.play_start_request_data[0].quest_drop_boost_apply_flag
)
resp = SaoEpisodePlayStartResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data)
return resp.make()
def handle_c918(self, request: Any) -> bytes:
#quest/trial_tower_play_end
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(20),
"ticket_id" / Bytes(1), # needs to be parsed as an int
Padding(1),
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
Padding(2),
"trial_tower_id" / Int16ub, # trial_tower_id is a short,
Padding(3),
"play_end_request_data" / Int8ub, # play_end_request_data is a byte
Padding(1),
"play_result_flag" / Int8ub, # play_result_flag is a byte
Padding(2),
"base_get_data_length" / Rebuild(Int8ub, len_(this.base_get_data)), # base_get_data_length is a byte,
"base_get_data" / Array(this.base_get_data_length, Struct(
"get_hero_log_exp" / Int32ub, # get_hero_log_exp is an int
"get_col" / Int32ub, # get_num is a short
)),
Padding(3),
"get_player_trace_data_list_length" / Rebuild(Int8ub, len_(this.get_player_trace_data_list)), # get_player_trace_data_list_length is a byte
"get_player_trace_data_list" / Array(this.get_player_trace_data_list_length, Struct(
"user_quest_scene_player_trace_id" / Int32ub, # user_quest_scene_player_trace_id is an int
)),
Padding(3),
"get_rare_drop_data_list_length" / Rebuild(Int8ub, len_(this.get_rare_drop_data_list)), # get_rare_drop_data_list_length is a byte
"get_rare_drop_data_list" / Array(this.get_rare_drop_data_list_length, Struct(
"quest_rare_drop_id" / Int32ub, # quest_rare_drop_id is an int
)),
Padding(3),
"get_special_rare_drop_data_list_length" / Rebuild(Int8ub, len_(this.get_special_rare_drop_data_list)), # get_special_rare_drop_data_list_length is a byte
"get_special_rare_drop_data_list" / Array(this.get_special_rare_drop_data_list_length, Struct(
"quest_special_rare_drop_id" / Int32ub, # quest_special_rare_drop_id is an int
)),
Padding(3),
"get_unanalyzed_log_tmp_reward_data_list_length" / Rebuild(Int8ub, len_(this.get_unanalyzed_log_tmp_reward_data_list)), # get_unanalyzed_log_tmp_reward_data_list_length is a byte
"get_unanalyzed_log_tmp_reward_data_list" / Array(this.get_unanalyzed_log_tmp_reward_data_list_length, Struct(
"unanalyzed_log_grade_id" / Int32ub, # unanalyzed_log_grade_id is an int,
)),
Padding(3),
"get_event_item_data_list_length" / Rebuild(Int8ub, len_(this.get_event_item_data_list)), # get_event_item_data_list_length is a byte,
"get_event_item_data_list" / Array(this.get_event_item_data_list_length, Struct(
"event_item_id" / Int32ub, # event_item_id is an int
"get_num" / Int16ub, # get_num is a short
)),
Padding(3),
"discovery_enemy_data_list_length" / Rebuild(Int8ub, len_(this.discovery_enemy_data_list)), # discovery_enemy_data_list_length is a byte
"discovery_enemy_data_list" / Array(this.discovery_enemy_data_list_length, Struct(
"enemy_kind_id" / Int32ub, # enemy_kind_id is an int
"destroy_num" / Int16ub, # destroy_num is a short
)),
Padding(3),
"destroy_boss_data_list_length" / Rebuild(Int8ub, len_(this.destroy_boss_data_list)), # destroy_boss_data_list_length is a byte
"destroy_boss_data_list" / Array(this.destroy_boss_data_list_length, Struct(
"boss_type" / Int8ub, # boss_type is a byte
"enemy_kind_id" / Int32ub, # enemy_kind_id is an int
"destroy_num" / Int16ub, # destroy_num is a short
)),
Padding(3),
"mission_data_list_length" / Rebuild(Int8ub, len_(this.mission_data_list)), # mission_data_list_length is a byte
"mission_data_list" / Array(this.mission_data_list_length, Struct(
"mission_id" / Int32ub, # enemy_kind_id is an int
"clear_flag" / Int8ub, # boss_type is a byte
"mission_difficulty_id" / Int16ub, # destroy_num is a short
)),
Padding(3),
"score_data_length" / Rebuild(Int8ub, len_(this.score_data)), # score_data_length is a byte
"score_data" / Array(this.score_data_length, Struct(
"clear_time" / Int32ub, # clear_time is an int
"combo_num" / Int32ub, # boss_type is a int
"total_damage_size" / Rebuild(Int32ub, len_(this.total_damage) * 2), # calculates the length of the total_damage
"total_damage" / PaddedString(this.total_damage_size, "utf_16_le"), # total_damage is a (zero) padded string
"concurrent_destroying_num" / Int16ub, # concurrent_destroying_num is a short
"reaching_skill_level" / Int16ub, # reaching_skill_level is a short
"ko_chara_num" / Int8ub, # ko_chara_num is a byte
"acceleration_invocation_num" / Int16ub, # acceleration_invocation_num is a short
"boss_destroying_num" / Int16ub, # boss_destroying_num is a short
"synchro_skill_used_flag" / Int8ub, # synchro_skill_used_flag is a byte
"used_friend_skill_id" / Int32ub, # used_friend_skill_id is an int
"friend_skill_used_flag" / Int8ub, # friend_skill_used_flag is a byte
"continue_cnt" / Int16ub, # continue_cnt is a short
"total_loss_num" / Int16ub, # total_loss_num is a short
)),
)
req_data = req_struct.parse(req)
# Add tower progression to database
user_id = req_data.user_id
trial_tower_id = req_data.trial_tower_id
next_tower_id = 0
quest_clear_flag = bool(req_data.score_data[0].boss_destroying_num)
clear_time = req_data.score_data[0].clear_time
combo_num = req_data.score_data[0].combo_num
total_damage = req_data.score_data[0].total_damage
concurrent_destroying_num = req_data.score_data[0].concurrent_destroying_num
if quest_clear_flag is True:
# Save tower progression - to be revised to avoid saving worse score
if trial_tower_id == 9:
next_tower_id = 10001
elif trial_tower_id == 10:
trial_tower_id = 10001
next_tower_id = 3011
elif trial_tower_id == 19:
next_tower_id = 10002
elif trial_tower_id == 20:
trial_tower_id = 10002
next_tower_id = 3021
elif trial_tower_id == 29:
next_tower_id = 10003
elif trial_tower_id == 30:
trial_tower_id = 10003
next_tower_id = 3031
elif trial_tower_id == 39:
next_tower_id = 10004
elif trial_tower_id == 40:
trial_tower_id = 10004
next_tower_id = 3041
elif trial_tower_id == 49:
next_tower_id = 10005
elif trial_tower_id == 50:
trial_tower_id = 10005
next_tower_id = 3051
else:
trial_tower_id = trial_tower_id + 3000
next_tower_id = trial_tower_id + 1
self.game_data.item.put_player_quest(user_id, trial_tower_id, quest_clear_flag, clear_time, combo_num, total_damage, concurrent_destroying_num)
# Check if next stage is already done
checkQuest = self.game_data.item.get_quest_log(user_id, next_tower_id)
if not checkQuest:
if next_tower_id != 3101:
self.game_data.item.put_player_quest(user_id, next_tower_id, 0, 0, 0, 0, 0)
# Update the profile # Update the profile
profile = self.game_data.profile.get_profile(req_data.user_id) profile = self.game_data.profile.get_profile(user_id)
exp = int(profile["rank_exp"]) + 100 #always 100 extra exp for some reason exp = int(profile["rank_exp"]) + 100 #always 100 extra exp for some reason
col = int(profile["own_col"]) + int(req_data.base_get_data[0].get_col) col = int(profile["own_col"]) + int(req_data.base_get_data[0].get_col)
@ -455,9 +1067,8 @@ class SaoBase:
player_level = int(data[i][0]) player_level = int(data[i][0])
break break
# Update profile
updated_profile = self.game_data.profile.put_profile( updated_profile = self.game_data.profile.put_profile(
req_data.user_id, user_id,
profile["user_type"], profile["user_type"],
profile["nick_name"], profile["nick_name"],
player_level, player_level,
@ -469,8 +1080,8 @@ class SaoBase:
) )
# Update heroes from the used party # Update heroes from the used party
play_session = self.game_data.item.get_session(req_data.user_id) play_session = self.game_data.item.get_session(user_id)
session_party = self.game_data.item.get_hero_party(req_data.user_id, play_session["user_party_team_id"]) session_party = self.game_data.item.get_hero_party(user_id, play_session["user_party_team_id"])
hero_list = [] hero_list = []
hero_list.append(session_party["user_hero_log_id_1"]) hero_list.append(session_party["user_hero_log_id_1"])
@ -478,14 +1089,31 @@ class SaoBase:
hero_list.append(session_party["user_hero_log_id_3"]) hero_list.append(session_party["user_hero_log_id_3"])
for i in range(0,len(hero_list)): for i in range(0,len(hero_list)):
hero_data = self.game_data.item.get_hero_log(req_data.user_id, hero_list[i]) hero_data = self.game_data.item.get_hero_log(user_id, hero_list[i])
log_exp = int(hero_data["log_exp"]) + int(req_data.base_get_data[0].get_hero_log_exp) log_exp = int(hero_data["log_exp"]) + int(req_data.base_get_data[0].get_hero_log_exp)
# Calculate hero level based off experience and the CSV list
with open(r'titles/sao/data/HeroLogLevel.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
data = []
rowf = False
for row in csv_reader:
if rowf==False:
rowf=True
else:
data.append(row)
for e in range(0,len(data)):
if log_exp>=int(data[e][1]) and log_exp<int(data[e+1][1]):
hero_level = int(data[e][0])
break
self.game_data.item.put_hero_log( self.game_data.item.put_hero_log(
req_data.user_id, user_id,
hero_data["user_hero_log_id"], hero_data["user_hero_log_id"],
hero_data["log_level"], hero_level,
log_exp, log_exp,
hero_data["main_weapon"], hero_data["main_weapon"],
hero_data["sub_equipment"], hero_data["sub_equipment"],
@ -496,19 +1124,121 @@ class SaoBase:
hero_data["skill_slot5_skill_id"] hero_data["skill_slot5_skill_id"]
) )
resp = SaoEpisodePlayEndResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1) json_data = {"data": []}
# Grab the rare loot from the table, match it with the right item and then push to the player profile
for r in range(0,req_data.get_rare_drop_data_list_length):
rewardList = self.game_data.static.get_rare_drop_id(int(req_data.get_rare_drop_data_list[r].quest_rare_drop_id))
commonRewardId = rewardList["commonRewardId"]
heroList = self.game_data.static.get_hero_id(commonRewardId)
equipmentList = self.game_data.static.get_equipment_id(commonRewardId)
itemList = self.game_data.static.get_item_id(commonRewardId)
if heroList:
self.game_data.item.put_hero_log(user_id, commonRewardId, 1, 0, 101000016, 0, 30086, 1001, 1002, 0, 0)
if equipmentList:
self.game_data.item.put_equipment_data(user_id, commonRewardId, 1, 200, 0, 0, 0)
if itemList:
self.game_data.item.put_item(user_id, commonRewardId)
# Generate random hero(es) based off the response
for a in range(0,req_data.get_unanalyzed_log_tmp_reward_data_list_length):
with open('titles/sao/data/RewardTable.csv', 'r') as f:
keys_unanalyzed = next(f).strip().split(',')
data_unanalyzed = list(DictReader(f, fieldnames=keys_unanalyzed))
randomized_unanalyzed_id = choice(data_unanalyzed)
while int(randomized_unanalyzed_id['UnanalyzedLogGradeId']) != req_data.get_unanalyzed_log_tmp_reward_data_list[a].unanalyzed_log_grade_id:
randomized_unanalyzed_id = choice(data_unanalyzed)
heroList = self.game_data.static.get_hero_id(randomized_unanalyzed_id['CommonRewardId'])
equipmentList = self.game_data.static.get_equipment_id(randomized_unanalyzed_id['CommonRewardId'])
itemList = self.game_data.static.get_item_id(randomized_unanalyzed_id['CommonRewardId'])
if heroList:
self.game_data.item.put_hero_log(user_id, randomized_unanalyzed_id['CommonRewardId'], 1, 0, 101000016, 0, 30086, 1001, 1002, 0, 0)
if equipmentList:
self.game_data.item.put_equipment_data(user_id, randomized_unanalyzed_id['CommonRewardId'], 1, 200, 0, 0, 0)
if itemList:
self.game_data.item.put_item(user_id, randomized_unanalyzed_id['CommonRewardId'])
json_data["data"].append(randomized_unanalyzed_id['CommonRewardId'])
# Send response
self.game_data.item.create_end_session(user_id, trial_tower_id, quest_clear_flag, json_data["data"])
resp = SaoTrialTowerPlayEndResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make() return resp.make()
def handle_c914(self, request: Any) -> bytes: def handle_c90a(self, request: Any) -> bytes:
#quest/trial_tower_play_start
user_id = bytes.fromhex(request[100:124]).decode("utf-16le")
floor_id = int(request[130:132], 16) # not required but nice to know
profile_data = self.game_data.profile.get_profile(user_id)
resp = SaoEpisodePlayStartResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, profile_data)
return resp.make()
def handle_c90a(self, request: Any) -> bytes: #should be tweaked for proper item unlock
#quest/episode_play_end_unanalyzed_log_fixed #quest/episode_play_end_unanalyzed_log_fixed
resp = SaoEpisodePlayEndUnanalyzedLogFixedResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"ticket_id_size" / Rebuild(Int32ub, len_(this.ticket_id) * 2), # calculates the length of the ticket_id
"ticket_id" / PaddedString(this.ticket_id_size, "utf_16_le"), # ticket_id is a (zero) padded string
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
end_session_data = self.game_data.item.get_end_session(user_id)
resp = SaoEpisodePlayEndUnanalyzedLogFixedResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, end_session_data[4])
return resp.make()
def handle_c91a(self, request: Any) -> bytes: # handler is identical to the episode
#quest/trial_tower_play_end_unanalyzed_log_fixed
req = bytes.fromhex(request)[24:]
req_struct = Struct(
Padding(16),
"ticket_id_size" / Rebuild(Int32ub, len_(this.ticket_id) * 2), # calculates the length of the ticket_id
"ticket_id" / PaddedString(this.ticket_id_size, "utf_16_le"), # ticket_id is a (zero) padded string
"user_id_size" / Rebuild(Int32ub, len_(this.user_id) * 2), # calculates the length of the user_id
"user_id" / PaddedString(this.user_id_size, "utf_16_le"), # user_id is a (zero) padded string
)
req_data = req_struct.parse(req)
user_id = req_data.user_id
end_session_data = self.game_data.item.get_end_session(user_id)
resp = SaoEpisodePlayEndUnanalyzedLogFixedResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1, end_session_data[4])
return resp.make()
def handle_cd00(self, request: Any) -> bytes:
#defrag_match/get_defrag_match_basic_data
resp = SaoGetDefragMatchBasicDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_cd02(self, request: Any) -> bytes:
#defrag_match/get_defrag_match_ranking_user_data
resp = SaoGetDefragMatchRankingUserDataResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_cd04(self, request: Any) -> bytes:
#defrag_match/get_defrag_match_league_point_ranking_list
resp = SaoGetDefragMatchLeaguePointRankingListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_cd06(self, request: Any) -> bytes:
#defrag_match/get_defrag_match_league_score_ranking_list
resp = SaoGetDefragMatchLeagueScoreRankingListResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_d404(self, request: Any) -> bytes:
#other/bnid_serial_code_check
resp = SaoBnidSerialCodeCheckResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make()
def handle_c306(self, request: Any) -> bytes:
#card/scan_qr_quest_profile_card
resp = SaoScanQrQuestProfileCardResponse(int.from_bytes(bytes.fromhex(request[:4]), "big")+1)
return resp.make() return resp.make()

Binary file not shown.
1 EquipmentLevelId,RequireExp
2 1,200,
3 2,400,
4 3,600,
5 4,800,
6 5,1000,
7 6,1200,
8 7,1400,
9 8,1600,
10 9,1800,
11 10,2000,
12 11,2200,
13 12,2400,
14 13,2600,
15 14,2800,
16 15,3000,
17 16,3200,
18 17,3400,
19 18,3600,
20 19,3800,
21 20,4000,
22 21,4200,
23 22,4400,
24 23,4600,
25 24,4800,
26 25,5000,
27 26,5200,
28 27,5400,
29 28,5600,
30 29,5800,
31 30,6000,
32 31,6200,
33 32,6400,
34 33,6600,
35 34,6800,
36 35,7000,
37 36,7200,
38 37,7400,
39 38,7600,
40 39,7800,
41 40,8000,
42 41,8200,
43 42,8400,
44 43,8600,
45 44,8800,
46 45,9000,
47 46,9200,
48 47,9400,
49 48,9600,
50 49,9800,
51 50,10000,
52 51,10200,
53 52,10400,
54 53,10600,
55 54,10800,
56 55,11000,
57 56,11200,
58 57,11400,
59 58,11600,
60 59,11800,
61 60,12000,
62 61,12200,
63 62,12400,
64 63,12600,
65 64,12800,
66 65,13000,
67 66,13200,
68 67,13400,
69 68,13600,
70 69,13800,
71 70,14000,
72 71,14200,
73 72,14400,
74 73,14600,
75 74,14800,
76 75,15000,
77 76,15200,
78 77,15400,
79 78,15600,
80 79,15800,
81 80,16000,
82 81,16200,
83 82,16400,
84 83,16600,
85 84,16800,
86 85,17000,
87 86,17200,
88 87,17400,
89 88,17600,
90 89,17800,
91 90,18000,
92 91,18200,
93 92,18400,
94 93,18600,
95 94,18800,
96 95,19000,
97 96,19200,
98 97,19400,
99 98,19600,
100 99,19800,
101 100,100000,
102 101,150000,
103 102,200000,
104 103,250000,
105 104,300000,
106 105,350000,
107 106,400000,
108 107,450000,
109 108,500000,
110 109,550000,
111 110,600000,
112 111,650000,
113 112,700000,
114 113,750000,
115 114,800000,
116 115,850000,
117 116,900000,
118 117,950000,
119 118,1000000,
120 119,1000000,
121 120,1000000,

Binary file not shown.
1 RewardTableId UnanalyzedLogGradeId CommonRewardId CommonRewardType
2 142 1 101000000 2
3 143 2 101000001 2
4 144 3 101000002 2
5 145 4 101000008 2
6 146 5 101000004 2
7 147 1 102000000 2
8 148 2 102000001 2
9 149 3 102000002 2
10 150 4 102000003 2
11 151 5 102000004 2
12 152 1 103000000 2
13 153 2 103000001 2
14 154 3 103000002 2
15 155 4 103000003 2
16 156 5 103000004 2
17 157 1 105000000 2
18 158 2 105000001 2
19 159 3 105000002 2
20 160 4 105000003 2
21 161 5 105000004 2
22 162 1 108000000 2
23 163 2 108000001 2
24 164 3 108000002 2
25 165 4 108000003 2
26 166 5 108000004 2
27 167 1 109000000 2
28 168 2 109000001 2
29 169 3 109000002 2
30 170 4 109000003 2
31 171 5 109000004 2
32 172 1 111000000 2
33 173 2 111000001 2
34 174 3 111000002 2
35 175 4 111000003 2
36 176 5 111000004 2
37 177 1 112000000 2
38 178 2 112000001 2
39 179 3 112000002 2
40 180 4 112000003 2
41 181 5 112000004 2
42 182 1 120000000 2
43 183 2 120000001 2
44 184 3 120000002 2
45 185 4 120000003 2
46 186 5 120000004 2
47 187 1 101000010 1
48 188 2 101000030 1
49 189 3 101000040 1
50 190 1 102000010 1
51 191 2 102000030 1
52 192 3 102000070 1
53 193 1 103000010 1
54 194 2 103000040 1
55 195 3 103000070 1
56 196 1 104000010 1
57 197 2 104000030 1
58 198 3 104000070 1
59 199 1 105000010 1
60 200 2 105000040 1
61 201 3 105000070 1
62 202 1 106000010 1
63 203 2 106000030 1
64 204 3 106000070 1
65 205 1 107000010 1
66 206 2 107000040 1
67 207 3 107000070 1
68 208 1 108000010 1
69 209 2 108000030 1
70 210 3 108000050 1
71 212 1 101000000 2
72 213 2 101000001 2
73 214 3 101000002 2
74 215 4 101000008 2
75 216 5 101000004 2
76 218 1 101000000 2
77 219 2 101000001 2
78 220 3 101000002 2
79 221 4 101000008 2
80 222 5 101000004 2
81 223 1 102000000 2
82 224 2 102000001 2
83 225 3 102000002 2
84 226 4 102000003 2
85 227 5 102000004 2
86 228 1 103000000 2
87 229 2 103000001 2
88 230 3 103000002 2
89 231 4 103000003 2
90 232 5 103000004 2
91 233 1 105000000 2
92 234 2 105000001 2
93 235 3 105000002 2
94 236 4 105000003 2
95 237 5 105000004 2
96 238 1 108000000 2
97 239 2 108000001 2
98 240 3 108000002 2
99 241 4 108000003 2
100 242 5 108000004 2
101 243 1 109000000 2
102 244 2 109000001 2
103 245 3 109000002 2
104 246 4 109000003 2
105 247 5 109000004 2
106 248 1 111000000 2
107 249 2 111000001 2
108 250 3 111000002 2
109 251 4 111000003 2
110 252 5 111000004 2
111 253 1 112000000 2
112 254 2 112000001 2
113 255 3 112000002 2
114 256 4 112000003 2
115 257 5 112000004 2
116 258 1 120000000 2
117 259 2 120000001 2
118 260 3 120000002 2
119 261 4 120000003 2
120 262 5 120000004 2
121 263 1 101000010 1
122 264 2 101000020 1
123 265 2 101000030 1
124 266 3 101000040 1
125 267 3 101000050 1
126 268 3 101000060 1
127 269 3 101000070 1
128 270 3 101000080 1
129 271 1 102000010 1
130 272 2 102000020 1
131 273 2 102000030 1
132 274 2 102000040 1
133 275 3 102000050 1
134 276 3 102000060 1
135 277 3 102000070 1
136 278 3 102000080 1
137 279 1 103000010 1
138 280 2 103000020 1
139 281 2 103000030 1
140 282 2 103000040 1
141 283 3 103000050 1
142 284 3 103000060 1
143 285 3 103000070 1
144 286 3 103000080 1
145 287 1 104000010 1
146 288 2 104000020 1
147 289 2 104000030 1
148 290 2 104000040 1
149 291 3 104000050 1
150 292 3 104000060 1
151 293 3 104000070 1
152 294 3 104000080 1
153 295 1 105000010 1
154 296 2 105000020 1
155 297 2 105000030 1
156 298 2 105000040 1
157 299 3 105000050 1
158 300 3 105000060 1
159 301 3 105000070 1
160 302 3 105000080 1
161 303 1 106000010 1
162 304 2 106000020 1
163 305 2 106000030 1
164 306 2 106000040 1
165 307 3 106000050 1
166 308 3 106000060 1
167 309 3 106000070 1
168 310 3 106000080 1
169 311 1 107000010 1
170 312 2 107000020 1
171 313 2 107000030 1
172 314 2 107000040 1
173 315 3 107000050 1
174 316 3 107000060 1
175 317 3 107000070 1
176 318 3 107000080 1
177 319 1 108000010 1
178 320 2 108000020 1
179 321 2 108000030 1
180 322 2 108000040 1
181 323 3 108000050 1
182 324 3 108000060 1
183 325 3 108000070 1
184 326 3 108000080 1
185 327 2 180000 3
186 329 1 101000000 2
187 330 2 101000001 2
188 331 3 101000002 2
189 332 4 101000008 2
190 333 5 101000004 2
191 334 1 102000000 2
192 335 2 102000001 2
193 336 3 102000002 2
194 337 4 102000003 2
195 338 5 102000004 2
196 339 1 103000000 2
197 340 2 103000001 2
198 341 3 103000002 2
199 342 4 103000003 2
200 343 5 103000004 2
201 344 1 105000000 2
202 345 2 105000001 2
203 346 3 105000002 2
204 347 4 105000003 2
205 348 5 105000004 2
206 349 1 108000000 2
207 350 2 108000001 2
208 351 3 108000002 2
209 352 4 108000003 2
210 353 5 108000004 2
211 354 1 109000000 2
212 355 2 109000001 2
213 356 3 109000002 2
214 357 4 109000003 2
215 358 5 109000004 2
216 359 1 111000000 2
217 360 2 111000001 2
218 361 3 111000002 2
219 362 4 111000003 2
220 363 5 111000004 2
221 364 1 112000000 2
222 365 2 112000001 2
223 366 3 112000002 2
224 367 4 112000003 2
225 368 5 112000004 2
226 369 1 120000000 2
227 370 2 120000001 2
228 371 3 120000002 2
229 372 4 120000003 2
230 373 5 120000004 2
231 374 1 101000010 1
232 375 2 101000020 1
233 376 2 101000030 1
234 377 3 101000040 1
235 378 3 101000050 1
236 379 3 101000060 1
237 380 3 101000070 1
238 381 3 101000080 1
239 382 1 102000010 1
240 383 2 102000020 1
241 384 2 102000030 1
242 385 2 102000040 1
243 386 3 102000050 1
244 387 3 102000060 1
245 388 3 102000070 1
246 389 3 102000080 1
247 390 1 103000010 1
248 391 2 103000020 1
249 392 2 103000030 1
250 393 2 103000040 1
251 394 3 103000050 1
252 395 3 103000060 1
253 396 3 103000070 1
254 397 3 103000080 1
255 398 1 104000010 1
256 399 2 104000020 1
257 400 2 104000030 1
258 401 2 104000040 1
259 402 3 104000050 1
260 403 3 104000060 1
261 404 3 104000070 1
262 405 3 104000080 1
263 406 1 105000010 1
264 407 2 105000020 1
265 408 2 105000030 1
266 409 2 105000040 1
267 410 3 105000050 1
268 411 3 105000060 1
269 412 3 105000070 1
270 413 3 105000080 1
271 414 1 106000010 1
272 415 2 106000020 1
273 416 2 106000030 1
274 417 2 106000040 1
275 418 3 106000050 1
276 419 3 106000060 1
277 420 3 106000070 1
278 421 3 106000080 1
279 422 1 107000010 1
280 423 2 107000020 1
281 424 2 107000030 1
282 425 2 107000040 1
283 426 3 107000050 1
284 427 3 107000060 1
285 428 3 107000070 1
286 429 3 107000080 1
287 430 1 108000010 1
288 431 2 108000020 1
289 432 2 108000030 1
290 433 2 108000040 1
291 434 3 108000050 1
292 435 3 108000060 1
293 436 3 108000070 1
294 437 3 108000080 1
295 438 2 180000 3
296 440 1 101000000 2
297 441 2 101000001 2
298 442 3 101000002 2
299 443 4 101000008 2
300 444 5 101000004 2
301 446 1 102000000 2
302 447 2 102000001 2
303 448 3 102000002 2
304 449 4 102000003 2
305 450 5 102000004 2
306 451 1 112000000 2
307 452 2 112000001 2
308 453 3 112000002 2
309 454 4 112000003 2
310 455 5 112000004 2
311 457 1 101000000 2
312 458 2 101000001 2
313 459 3 101000002 2
314 460 4 101000008 2
315 461 5 101000004 2
316 462 1 120000000 2
317 463 2 120000001 2
318 464 3 120000002 2
319 465 4 120000003 2
320 466 5 120000004 2
321 468 1 111000000 2
322 469 2 111000001 2
323 470 3 111000002 2
324 471 4 111000003 2
325 472 5 111000004 2
326 473 1 120000000 2
327 474 2 120000001 2
328 475 3 120000002 2
329 476 4 120000003 2
330 477 5 120000004 2
331 479 1 109000000 2
332 480 2 109000001 2
333 481 3 109000002 2
334 482 4 109000003 2
335 483 5 109000004 2
336 484 1 112000000 2
337 485 2 112000001 2
338 486 3 112000002 2
339 487 4 112000003 2
340 488 5 112000004 2
341 490 1 103000000 2
342 491 2 103000001 2
343 492 3 103000002 2
344 493 4 103000003 2
345 494 5 103000004 2
346 495 1 112000000 2
347 496 2 112000001 2
348 497 3 112000002 2
349 498 4 112000003 2
350 499 5 112000004 2
351 501 1 105000000 2
352 502 2 105000001 2
353 503 3 105000002 2
354 504 4 105000003 2
355 505 5 105000004 2
356 506 1 120000000 2
357 507 2 120000001 2
358 508 3 120000002 2
359 509 4 120000003 2
360 510 5 120000004 2
361 512 1 108000000 2
362 513 2 108000001 2
363 514 3 108000002 2
364 515 4 108000003 2
365 516 5 108000004 2
366 517 1 120000000 2
367 518 2 120000001 2
368 519 3 120000002 2
369 520 4 120000003 2
370 521 5 120000004 2
371 523 1 101000010 1
372 524 1 103000010 1
373 525 2 103000030 1
374 526 2 103000040 1
375 527 2 107000020 1
376 528 2 101000030 1
377 529 3 101000050 1
378 530 3 101000060 1
379 531 3 101000080 1
380 532 3 103000060 1
381 533 3 103000070 1
382 534 3 103000080 1
383 535 3 101000040 1
384 536 1 101000000 2
385 537 2 101000001 2
386 538 3 101000002 2
387 539 4 101000008 2
388 540 5 101000004 2
389 541 1 112000000 2
390 542 2 112000001 2
391 543 3 112000002 2
392 544 4 112000003 2
393 545 5 112000004 2
394 546 2 101000005 2
395 547 2 112000005 2
396 548 3 170000 3
397 549 4 170001 3
398 551 1 102000010 1
399 552 2 102000030 1
400 553 2 102000040 1
401 554 2 104000020 1
402 555 3 102000060 1
403 556 3 102000070 1
404 557 3 102000080 1
405 558 3 103000050 1
406 559 3 105000050 1
407 560 1 102000000 2
408 561 2 102000001 2
409 562 3 102000002 2
410 563 4 102000003 2
411 564 5 102000004 2
412 565 1 112000000 2
413 566 2 112000001 2
414 567 3 112000002 2
415 568 4 112000003 2
416 569 5 112000004 2
417 570 3 170000 3
418 571 4 170001 3
419 573 1 106000010 1
420 574 2 106000030 1
421 575 2 106000040 1
422 576 2 105000020 1
423 577 3 106000060 1
424 578 3 106000070 1
425 579 3 106000080 1
426 580 3 101000070 1
427 581 1 103000000 2
428 582 2 103000001 2
429 583 3 103000002 2
430 584 4 103000003 2
431 585 5 103000004 2
432 586 1 112000000 2
433 587 2 112000001 2
434 588 3 112000002 2
435 589 4 112000003 2
436 590 5 112000004 2
437 591 3 170000 3
438 592 4 170001 3
439 594 1 104000010 1
440 595 2 104000030 1
441 596 2 104000040 1
442 597 2 108000020 1
443 598 3 104000060 1
444 599 3 104000070 1
445 600 3 104000080 1
446 601 3 102000050 1
447 602 1 111000000 2
448 603 2 111000001 2
449 604 3 111000002 2
450 605 4 111000003 2
451 606 5 111000004 2
452 607 1 120000000 2
453 608 2 120000001 2
454 609 3 120000002 2
455 610 4 120000003 2
456 611 5 120000004 2
457 612 1 110020 3
458 613 1 110030 3
459 614 1 110040 3
460 615 1 110050 3
461 616 3 110060 3
462 617 3 110070 3
463 618 3 110080 3
464 619 3 110090 3
465 620 3 110100 3
466 621 3 110110 3
467 622 3 110120 3
468 623 3 110130 3
469 624 3 110140 3
470 625 3 110150 3
471 626 3 110160 3
472 627 3 110170 3
473 628 3 110180 3
474 629 3 110190 3
475 630 3 110200 3
476 631 3 110210 3
477 632 3 110220 3
478 633 3 110230 3
479 634 3 110240 3
480 635 3 110250 3
481 636 3 110260 3
482 637 3 110270 3
483 639 1 107000010 1
484 640 2 107000030 1
485 641 2 107000040 1
486 642 2 101000020 1
487 643 3 107000060 1
488 644 3 107000070 1
489 645 3 107000080 1
490 646 3 108000050 1
491 647 1 105000000 2
492 648 2 105000001 2
493 649 3 105000002 2
494 650 4 105000003 2
495 651 5 105000004 2
496 652 1 120000000 2
497 653 2 120000001 2
498 654 3 120000002 2
499 655 4 120000003 2
500 656 5 120000004 2
501 657 3 180000 3
502 658 4 180001 3
503 660 1 105000010 1
504 661 2 105000030 1
505 662 2 105000040 1
506 663 2 102000020 1
507 664 2 103000020 1
508 665 3 105000060 1
509 666 3 105000070 1
510 667 3 105000080 1
511 668 3 104000050 1
512 669 3 106000050 1
513 670 1 109000000 2
514 671 2 109000001 2
515 672 3 109000002 2
516 673 4 109000003 2
517 674 5 109000004 2
518 675 1 112000000 2
519 676 2 112000001 2
520 677 3 112000002 2
521 678 4 112000003 2
522 679 5 112000004 2
523 680 1 120020 3
524 681 1 120030 3
525 682 1 120040 3
526 683 1 120050 3
527 684 3 120240 3
528 685 3 120250 3
529 686 3 120260 3
530 687 3 120270 3
531 688 3 120300 3
532 689 3 120310 3
533 690 3 120320 3
534 691 3 120330 3
535 692 3 120340 3
536 693 3 120350 3
537 694 3 120360 3
538 695 3 120370 3
539 696 3 120380 3
540 697 3 120390 3
541 698 3 120400 3
542 699 3 120410 3
543 700 3 120420 3
544 701 3 120430 3
545 702 3 120450 3
546 703 3 120460 3
547 705 1 108000010 1
548 706 2 108000030 1
549 707 2 108000040 1
550 708 2 106000020 1
551 709 3 108000060 1
552 710 3 108000070 1
553 711 3 108000080 1
554 712 3 107000050 1
555 713 1 108000000 2
556 714 2 108000001 2
557 715 3 108000002 2
558 716 4 108000003 2
559 717 5 108000004 2
560 718 1 120000000 2
561 719 2 120000001 2
562 720 3 120000002 2
563 721 4 120000003 2
564 722 5 120000004 2
565 723 1 130020 3
566 724 1 130030 3
567 725 1 130040 3
568 726 1 130050 3
569 727 3 130060 3
570 728 3 130070 3
571 729 3 130080 3
572 730 3 130090 3
573 731 3 130100 3
574 732 3 130110 3
575 733 3 130120 3
576 734 3 130130 3
577 735 3 130140 3
578 736 3 130150 3
579 737 3 130160 3
580 738 3 130170 3
581 739 3 130180 3
582 740 3 130190 3
583 741 3 130200 3
584 742 3 130420 3
585 743 3 130510 3
586 744 3 130520 3
587 745 3 130530 3
588 746 3 130540 3
589 748 1 105000010 1
590 749 2 105000030 1
591 750 2 105000040 1
592 751 2 102000020 1
593 752 2 103000020 1
594 753 3 105000060 1
595 754 3 105000070 1
596 755 3 105000080 1
597 756 3 104000050 1
598 757 3 106000050 1
599 758 1 109000000 2
600 759 2 109000001 2
601 760 3 109000002 2
602 761 4 109000003 2
603 762 5 109000004 2
604 763 1 112000000 2
605 764 2 112000001 2
606 765 3 112000002 2
607 766 4 112000003 2
608 767 5 112000004 2
609 768 3 170000 3
610 769 4 170001 3
611 771 1 104000010 1
612 772 2 104000030 1
613 773 2 104000040 1
614 774 2 108000020 1
615 775 3 104000060 1
616 776 3 104000070 1
617 777 3 104000080 1
618 778 3 102000050 1
619 779 1 111000000 2
620 780 2 111000001 2
621 781 3 111000002 2
622 782 4 111000003 2
623 783 5 111000004 2
624 784 1 120000000 2
625 785 2 120000001 2
626 786 3 120000002 2
627 787 4 120000003 2
628 788 5 120000004 2
629 789 1 110020 3
630 790 1 110030 3
631 791 1 110040 3
632 792 1 110050 3
633 793 3 110060 3
634 794 3 110070 3
635 795 3 110080 3
636 796 3 110090 3
637 797 3 110100 3
638 798 3 110110 3
639 799 3 110120 3
640 800 3 110130 3
641 801 3 110140 3
642 802 3 110150 3
643 803 3 110160 3
644 804 3 110170 3
645 805 3 110180 3
646 806 3 110190 3
647 807 3 110200 3
648 808 3 110210 3
649 809 3 110220 3
650 810 3 110230 3
651 811 3 110240 3
652 812 3 110250 3
653 813 3 110260 3
654 814 3 110270 3
655 816 1 102000010 1
656 817 2 102000030 1
657 818 2 102000040 1
658 819 2 104000020 1
659 820 3 102000060 1
660 821 3 102000070 1
661 822 3 102000080 1
662 823 3 103000050 1
663 824 3 105000050 1
664 825 1 102000000 2
665 826 2 102000001 2
666 827 3 102000002 2
667 828 4 102000003 2
668 829 5 102000004 2
669 830 1 112000000 2
670 831 2 112000001 2
671 832 3 112000002 2
672 833 4 112000003 2
673 834 5 112000004 2
674 835 3 170001 3
675 836 4 170002 3
676 838 1 102000010 1
677 839 2 102000030 1
678 840 2 102000040 1
679 841 2 104000020 1
680 842 3 102000060 1
681 843 3 102000070 1
682 844 3 102000080 1
683 845 3 103000050 1
684 846 3 105000050 1
685 847 1 102000000 2
686 848 2 102000001 2
687 849 3 102000002 2
688 850 4 102000003 2
689 851 5 102000004 2
690 852 1 112000000 2
691 853 2 112000001 2
692 854 3 112000002 2
693 855 4 112000003 2
694 856 5 112000004 2
695 857 1 110020 3
696 858 1 110030 3
697 859 1 110040 3
698 860 1 110050 3
699 861 2 110021 3
700 862 2 110031 3
701 863 2 110041 3
702 864 2 110051 3
703 865 3 110060 3
704 866 3 110070 3
705 867 3 110080 3
706 868 3 110090 3
707 869 3 110100 3
708 870 3 110110 3
709 871 3 110120 3
710 872 3 110130 3
711 873 3 110140 3
712 874 3 110150 3
713 875 3 110160 3
714 876 3 110170 3
715 877 3 110180 3
716 878 3 110190 3
717 879 3 110200 3
718 880 3 110210 3
719 881 3 110220 3
720 882 3 110230 3
721 883 3 110240 3
722 884 3 110250 3
723 885 3 110260 3
724 886 3 110270 3
725 887 4 140000 3
726 889 1 101000010 1
727 890 1 103000010 1
728 891 2 103000030 1
729 892 2 103000040 1
730 893 2 107000020 1
731 894 2 101000030 1
732 895 3 101000050 1
733 896 3 101000060 1
734 897 3 101000080 1
735 898 3 103000060 1
736 899 3 103000070 1
737 900 3 103000080 1
738 901 3 101000040 1
739 902 1 101000000 2
740 903 2 101000001 2
741 904 3 101000002 2
742 905 4 101000008 2
743 906 5 101000004 2
744 907 1 112000000 2
745 908 2 112000001 2
746 909 3 112000002 2
747 910 4 112000003 2
748 911 5 112000004 2
749 912 1 120020 3
750 913 1 120030 3
751 914 1 120040 3
752 915 1 120050 3
753 916 2 120021 3
754 917 2 120031 3
755 918 2 120041 3
756 919 2 120051 3
757 920 3 120240 3
758 921 3 120250 3
759 922 3 120260 3
760 923 3 120270 3
761 924 3 120300 3
762 925 3 120310 3
763 926 3 120320 3
764 927 3 120330 3
765 928 3 120340 3
766 929 3 120350 3
767 930 3 120360 3
768 931 3 120370 3
769 932 3 120380 3
770 933 3 120390 3
771 934 3 120400 3
772 935 3 120410 3
773 936 3 120420 3
774 937 3 120430 3
775 938 3 120450 3
776 939 3 120460 3
777 940 4 140000 3
778 942 1 106000010 1
779 943 2 106000030 1
780 944 2 106000040 1
781 945 2 105000020 1
782 946 3 106000060 1
783 947 3 106000070 1
784 948 3 106000080 1
785 949 3 101000070 1
786 950 1 103000000 2
787 951 2 103000001 2
788 952 3 103000002 2
789 953 4 103000003 2
790 954 5 103000004 2
791 955 1 112000000 2
792 956 2 112000001 2
793 957 3 112000002 2
794 958 4 112000003 2
795 959 5 112000004 2
796 960 3 180001 3
797 961 4 180002 3
798 963 1 101000010 1
799 964 1 103000010 1
800 965 2 103000030 1
801 966 2 103000040 1
802 967 2 107000020 1
803 968 2 101000030 1
804 969 3 101000050 1
805 970 3 101000060 1
806 971 3 101000080 1
807 972 3 103000060 1
808 973 3 103000070 1
809 974 3 103000080 1
810 975 3 101000040 1
811 976 1 101000000 2
812 977 2 101000001 2
813 978 3 101000002 2
814 979 4 101000008 2
815 980 5 101000004 2
816 981 1 120000000 2
817 982 2 120000001 2
818 983 3 120000002 2
819 984 4 120000003 2
820 985 5 120000004 2
821 986 3 170001 3
822 987 4 170002 3
823 989 1 105000010 1
824 990 2 105000030 1
825 991 2 105000040 1
826 992 2 102000020 1
827 993 2 103000020 1
828 994 3 105000060 1
829 995 3 105000070 1
830 996 3 105000080 1
831 997 3 104000050 1
832 998 3 106000050 1
833 999 1 109000000 2
834 1000 2 109000001 2
835 1001 3 109000002 2
836 1002 4 109000003 2
837 1003 5 109000004 2
838 1004 1 112000000 2
839 1005 2 112000001 2
840 1006 3 112000002 2
841 1007 4 112000003 2
842 1008 5 112000004 2
843 1009 1 130020 3
844 1010 1 130030 3
845 1011 1 130040 3
846 1012 1 130050 3
847 1013 2 130021 3
848 1014 2 130031 3
849 1015 2 130041 3
850 1016 2 130051 3
851 1017 3 130060 3
852 1018 3 130070 3
853 1019 3 130080 3
854 1020 3 130090 3
855 1021 3 130100 3
856 1022 3 130110 3
857 1023 3 130120 3
858 1024 3 130130 3
859 1025 3 130140 3
860 1026 3 130150 3
861 1027 3 130160 3
862 1028 3 130170 3
863 1029 3 130180 3
864 1030 3 130190 3
865 1031 3 130200 3
866 1032 3 130420 3
867 1033 3 130510 3
868 1034 3 130520 3
869 1035 3 130530 3
870 1036 3 130540 3
871 1037 4 140000 3
872 1039 1 107000010 1
873 1040 2 107000030 1
874 1041 2 107000040 1
875 1042 2 101000020 1
876 1043 3 107000060 1
877 1044 3 107000070 1
878 1045 3 107000080 1
879 1046 3 108000050 1
880 1047 1 105000000 2
881 1048 2 105000001 2
882 1049 3 105000002 2
883 1050 4 105000003 2
884 1051 5 105000004 2
885 1052 1 120000000 2
886 1053 2 120000001 2
887 1054 3 120000002 2
888 1055 4 120000003 2
889 1056 5 120000004 2
890 1057 1 120020 3
891 1058 1 120030 3
892 1059 1 120040 3
893 1060 1 120050 3
894 1061 2 120021 3
895 1062 2 120031 3
896 1063 2 120041 3
897 1064 2 120051 3
898 1065 3 120240 3
899 1066 3 120250 3
900 1067 3 120260 3
901 1068 3 120270 3
902 1069 3 120300 3
903 1070 3 120310 3
904 1071 3 120320 3
905 1072 3 120330 3
906 1073 3 120340 3
907 1074 3 120350 3
908 1075 3 120360 3
909 1076 3 120370 3
910 1077 3 120380 3
911 1078 3 120390 3
912 1079 3 120400 3
913 1080 3 120410 3
914 1081 3 120420 3
915 1082 3 120430 3
916 1083 3 120450 3
917 1084 3 120460 3
918 1085 4 140000 3
919 1087 1 108000010 1
920 1088 2 108000030 1
921 1089 2 108000040 1
922 1090 2 106000020 1
923 1091 3 108000060 1
924 1092 3 108000070 1
925 1093 3 108000080 1
926 1094 3 107000050 1
927 1095 1 108000000 2
928 1096 2 108000001 2
929 1097 3 108000002 2
930 1098 4 108000003 2
931 1099 5 108000004 2
932 1100 1 120000000 2
933 1101 2 120000001 2
934 1102 3 120000002 2
935 1103 4 120000003 2
936 1104 5 120000004 2
937 1105 3 170001 3
938 1106 4 170002 3
939 1108 1 101000010 1
940 1109 1 103000010 1
941 1110 2 103000030 1
942 1111 2 103000040 1
943 1112 2 107000020 1
944 1113 2 101000030 1
945 1114 3 101000050 1
946 1115 3 101000060 1
947 1116 3 101000080 1
948 1117 3 103000060 1
949 1118 3 103000070 1
950 1119 3 103000080 1
951 1120 3 101000040 1
952 1121 1 101000000 2
953 1122 2 101000001 2
954 1123 3 101000002 2
955 1124 4 101000008 2
956 1125 5 101000004 2
957 1126 1 112000000 2
958 1127 2 112000001 2
959 1128 3 112000002 2
960 1129 4 112000003 2
961 1130 5 112000004 2
962 1131 2 101000005 2
963 1132 2 112000005 2
964 1133 3 170001 3
965 1134 4 170002 3
966 1136 1 102000010 1
967 1137 2 102000030 1
968 1138 2 102000040 1
969 1139 2 104000020 1
970 1140 3 102000060 1
971 1141 3 102000070 1
972 1142 3 102000080 1
973 1143 3 103000050 1
974 1144 3 105000050 1
975 1145 1 102000000 2
976 1146 2 102000001 2
977 1147 3 102000002 2
978 1148 4 102000003 2
979 1149 5 102000004 2
980 1150 1 112000000 2
981 1151 2 112000001 2
982 1152 3 112000002 2
983 1153 4 112000003 2
984 1154 5 112000004 2
985 1155 1 120020 3
986 1156 1 120030 3
987 1157 1 120040 3
988 1158 1 120050 3
989 1159 2 120021 3
990 1160 2 120031 3
991 1161 2 120041 3
992 1162 2 120051 3
993 1163 3 120240 3
994 1164 3 120250 3
995 1165 3 120260 3
996 1166 3 120270 3
997 1167 3 120300 3
998 1168 3 120310 3
999 1169 3 120320 3
1000 1170 3 120330 3
1001 1171 3 120340 3
1002 1172 3 120350 3
1003 1173 3 120360 3
1004 1174 3 120370 3
1005 1175 3 120380 3
1006 1176 3 120390 3
1007 1177 3 120400 3
1008 1178 3 120410 3
1009 1179 3 120420 3
1010 1180 3 120430 3
1011 1181 3 120450 3
1012 1182 3 120460 3
1013 1183 4 140000 3
1014 1185 2 104000030 1
1015 1186 2 104000040 1
1016 1187 2 108000020 1
1017 1188 3 104000060 1
1018 1189 3 104000070 1
1019 1190 3 104000080 1
1020 1191 3 102000050 1
1021 1192 4 104000100 1
1022 1193 4 104000110 1
1023 1194 4 107000090 1
1024 1195 1 111000000 2
1025 1196 2 111000001 2
1026 1197 3 111000002 2
1027 1198 4 111000003 2
1028 1199 5 111000004 2
1029 1200 1 120000000 2
1030 1201 2 120000001 2
1031 1202 3 120000002 2
1032 1203 4 120000003 2
1033 1204 5 120000004 2
1034 1205 3 170002 3
1035 1206 4 170003 3
1036 1208 2 104000030 1
1037 1209 2 104000040 1
1038 1210 2 108000020 1
1039 1211 3 104000060 1
1040 1212 3 104000070 1
1041 1213 3 104000080 1
1042 1214 3 102000050 1
1043 1215 4 104000100 1
1044 1216 4 104000110 1
1045 1217 4 107000090 1
1046 1218 1 111000000 2
1047 1219 2 111000001 2
1048 1220 3 111000002 2
1049 1221 4 111000003 2
1050 1222 5 111000004 2
1051 1223 1 120000000 2
1052 1224 2 120000001 2
1053 1225 3 120000002 2
1054 1226 4 120000003 2
1055 1227 5 120000004 2
1056 1228 1 110020 3
1057 1229 1 110030 3
1058 1230 1 110040 3
1059 1231 1 110050 3
1060 1232 2 110021 3
1061 1233 2 110031 3
1062 1234 2 110041 3
1063 1235 2 110051 3
1064 1236 3 110022 3
1065 1237 3 110032 3
1066 1238 3 110042 3
1067 1239 3 110052 3
1068 1240 3 110060 3
1069 1241 3 110070 3
1070 1242 3 110080 3
1071 1243 3 110090 3
1072 1244 3 110100 3
1073 1245 3 110110 3
1074 1246 3 110120 3
1075 1247 3 110130 3
1076 1248 3 110140 3
1077 1249 3 110150 3
1078 1250 3 110160 3
1079 1251 3 110170 3
1080 1252 3 110180 3
1081 1253 3 110190 3
1082 1254 3 110200 3
1083 1255 3 110210 3
1084 1256 3 110220 3
1085 1257 3 110230 3
1086 1258 3 110240 3
1087 1259 3 110250 3
1088 1260 3 110260 3
1089 1261 3 110270 3
1090 1262 4 140000 3
1091 1264 2 105000030 1
1092 1265 2 105000040 1
1093 1266 2 102000020 1
1094 1267 2 103000020 1
1095 1268 3 105000060 1
1096 1269 3 105000070 1
1097 1270 3 105000080 1
1098 1271 3 104000050 1
1099 1272 3 106000050 1
1100 1273 4 105000100 1
1101 1274 4 105000110 1
1102 1275 4 108000090 1
1103 1276 1 109000000 2
1104 1277 2 109000001 2
1105 1278 3 109000002 2
1106 1279 4 109000003 2
1107 1280 5 109000004 2
1108 1281 1 112000000 2
1109 1282 2 112000001 2
1110 1283 3 112000002 2
1111 1284 4 112000003 2
1112 1285 5 112000004 2
1113 1286 3 170002 3
1114 1287 4 170003 3
1115 1289 2 106000030 1
1116 1290 2 106000040 1
1117 1291 2 105000020 1
1118 1292 3 106000060 1
1119 1293 3 106000070 1
1120 1294 3 106000080 1
1121 1295 3 101000070 1
1122 1296 4 106000100 1
1123 1297 4 106000110 1
1124 1298 4 104000090 1
1125 1299 1 103000000 2
1126 1300 2 103000001 2
1127 1301 3 103000002 2
1128 1302 4 103000003 2
1129 1303 5 103000004 2
1130 1304 1 112000000 2
1131 1305 2 112000001 2
1132 1306 3 112000002 2
1133 1307 4 112000003 2
1134 1308 5 112000004 2
1135 1309 1 130020 3
1136 1310 1 130030 3
1137 1311 1 130040 3
1138 1312 1 130050 3
1139 1313 2 130021 3
1140 1314 2 130031 3
1141 1315 2 130041 3
1142 1316 2 130051 3
1143 1317 3 130022 3
1144 1318 3 130032 3
1145 1319 3 130042 3
1146 1320 3 130052 3
1147 1321 3 130060 3
1148 1322 3 130070 3
1149 1323 3 130080 3
1150 1324 3 130090 3
1151 1325 3 130100 3
1152 1326 3 130110 3
1153 1327 3 130120 3
1154 1328 3 130130 3
1155 1329 3 130140 3
1156 1330 3 130150 3
1157 1331 3 130160 3
1158 1332 3 130170 3
1159 1333 3 130180 3
1160 1334 3 130190 3
1161 1335 3 130200 3
1162 1336 3 130420 3
1163 1337 3 130510 3
1164 1338 3 130520 3
1165 1339 3 130530 3
1166 1340 3 130540 3
1167 1341 4 140000 3
1168 1343 2 108000030 1
1169 1344 2 108000040 1
1170 1345 2 106000020 1
1171 1346 3 108000060 1
1172 1347 3 108000070 1
1173 1348 3 108000080 1
1174 1349 3 107000050 1
1175 1350 4 108000100 1
1176 1351 4 105000090 1
1177 1352 1 108000000 2
1178 1353 2 108000001 2
1179 1354 3 108000002 2
1180 1355 4 108000003 2
1181 1356 5 108000004 2
1182 1357 1 120000000 2
1183 1358 2 120000001 2
1184 1359 3 120000002 2
1185 1360 4 120000003 2
1186 1361 5 120000004 2
1187 1362 1 120020 3
1188 1363 1 120030 3
1189 1364 1 120040 3
1190 1365 1 120050 3
1191 1366 2 120021 3
1192 1367 2 120031 3
1193 1368 2 120041 3
1194 1369 2 120051 3
1195 1370 3 120022 3
1196 1371 3 120032 3
1197 1372 3 120042 3
1198 1373 3 120052 3
1199 1374 3 120240 3
1200 1375 3 120250 3
1201 1376 3 120260 3
1202 1377 3 120270 3
1203 1378 3 120300 3
1204 1379 3 120310 3
1205 1380 3 120320 3
1206 1381 3 120330 3
1207 1382 3 120340 3
1208 1383 3 120350 3
1209 1384 3 120360 3
1210 1385 3 120370 3
1211 1386 3 120380 3
1212 1387 3 120390 3
1213 1388 3 120400 3
1214 1389 3 120410 3
1215 1390 3 120420 3
1216 1391 3 120430 3
1217 1392 3 120450 3
1218 1393 3 120460 3
1219 1394 4 140000 3
1220 1396 2 103000030 1
1221 1397 2 103000040 1
1222 1398 2 107000020 1
1223 1399 2 101000030 1
1224 1400 3 101000050 1
1225 1401 3 101000060 1
1226 1402 3 101000080 1
1227 1403 3 103000060 1
1228 1404 3 103000070 1
1229 1405 3 103000080 1
1230 1406 3 101000040 1
1231 1407 4 101000090 1
1232 1408 4 102000090 1
1233 1409 4 103000100 1
1234 1410 4 101000100 1
1235 1411 4 101000110 1
1236 1412 1 101000000 2
1237 1413 2 101000001 2
1238 1414 3 101000002 2
1239 1415 4 101000008 2
1240 1416 5 101000004 2
1241 1417 1 120000000 2
1242 1418 2 120000001 2
1243 1419 3 120000002 2
1244 1420 4 120000003 2
1245 1421 5 120000004 2
1246 1422 3 170002 3
1247 1423 4 170003 3
1248 1425 2 105000030 1
1249 1426 2 105000040 1
1250 1427 2 102000020 1
1251 1428 2 103000020 1
1252 1429 3 105000060 1
1253 1430 3 105000070 1
1254 1431 3 105000080 1
1255 1432 3 104000050 1
1256 1433 3 106000050 1
1257 1434 4 105000100 1
1258 1435 4 105000110 1
1259 1436 4 108000090 1
1260 1437 1 109000000 2
1261 1438 2 109000001 2
1262 1439 3 109000002 2
1263 1440 4 109000003 2
1264 1441 5 109000004 2
1265 1442 1 112000000 2
1266 1443 2 112000001 2
1267 1444 3 112000002 2
1268 1445 4 112000003 2
1269 1446 5 112000004 2
1270 1447 3 180002 3
1271 1448 4 180003 3
1272 1450 2 107000030 1
1273 1451 2 107000040 1
1274 1452 2 101000020 1
1275 1453 3 107000060 1
1276 1454 3 107000070 1
1277 1455 3 107000080 1
1278 1456 3 108000050 1
1279 1457 4 107000100 1
1280 1458 4 103000090 1
1281 1459 1 105000000 2
1282 1460 2 105000001 2
1283 1461 3 105000002 2
1284 1462 4 105000003 2
1285 1463 5 105000004 2
1286 1464 1 120000000 2
1287 1465 2 120000001 2
1288 1466 3 120000002 2
1289 1467 4 120000003 2
1290 1468 5 120000004 2
1291 1469 3 170002 3
1292 1470 4 170003 3
1293 1472 2 104000030 1
1294 1473 2 104000040 1
1295 1474 2 108000020 1
1296 1475 3 104000060 1
1297 1476 3 104000070 1
1298 1477 3 104000080 1
1299 1478 3 102000050 1
1300 1479 4 104000100 1
1301 1480 4 104000110 1
1302 1481 4 107000090 1
1303 1482 1 111000000 2
1304 1483 2 111000001 2
1305 1484 3 111000002 2
1306 1485 4 111000003 2
1307 1486 5 111000004 2
1308 1487 1 120000000 2
1309 1488 2 120000001 2
1310 1489 3 120000002 2
1311 1490 4 120000003 2
1312 1491 5 120000004 2
1313 1492 1 110020 3
1314 1493 1 110030 3
1315 1494 1 110040 3
1316 1495 1 110050 3
1317 1496 2 110021 3
1318 1497 2 110031 3
1319 1498 2 110041 3
1320 1499 2 110051 3
1321 1500 3 110022 3
1322 1501 3 110032 3
1323 1502 3 110042 3
1324 1503 3 110052 3
1325 1504 3 110060 3
1326 1505 3 110070 3
1327 1506 3 110080 3
1328 1507 3 110090 3
1329 1508 3 110100 3
1330 1509 3 110110 3
1331 1510 3 110120 3
1332 1511 3 110130 3
1333 1512 3 110140 3
1334 1513 3 110150 3
1335 1514 3 110160 3
1336 1515 3 110170 3
1337 1516 3 110180 3
1338 1517 3 110190 3
1339 1518 3 110200 3
1340 1519 3 110210 3
1341 1520 3 110220 3
1342 1521 3 110230 3
1343 1522 3 110240 3
1344 1523 3 110250 3
1345 1524 3 110260 3
1346 1525 3 110270 3
1347 1526 4 140000 3
1348 1528 2 108000030 1
1349 1529 2 108000040 1
1350 1530 2 106000020 1
1351 1531 3 108000060 1
1352 1532 3 108000070 1
1353 1533 3 108000080 1
1354 1534 3 107000050 1
1355 1535 4 108000100 1
1356 1536 4 105000090 1
1357 1537 1 108000000 2
1358 1538 2 108000001 2
1359 1539 3 108000002 2
1360 1540 4 108000003 2
1361 1541 5 108000004 2
1362 1542 1 120000000 2
1363 1543 2 120000001 2
1364 1544 3 120000002 2
1365 1545 4 120000003 2
1366 1546 5 120000004 2
1367 1547 3 170002 3
1368 1548 4 170003 3
1369 1550 2 103000030 1
1370 1551 2 103000040 1
1371 1552 2 107000020 1
1372 1553 2 101000030 1
1373 1554 3 101000050 1
1374 1555 3 101000060 1
1375 1556 3 101000080 1
1376 1557 3 103000060 1
1377 1558 3 103000070 1
1378 1559 3 103000080 1
1379 1560 3 101000040 1
1380 1561 4 101000090 1
1381 1562 4 102000090 1
1382 1563 4 103000100 1
1383 1564 4 101000100 1
1384 1565 4 101000110 1
1385 1566 1 101000000 2
1386 1567 2 101000001 2
1387 1568 3 101000002 2
1388 1569 4 101000008 2
1389 1570 5 101000004 2
1390 1571 1 112000000 2
1391 1572 2 112000001 2
1392 1573 3 112000002 2
1393 1574 4 112000003 2
1394 1575 5 112000004 2
1395 1576 1 120020 3
1396 1577 1 120030 3
1397 1578 1 120040 3
1398 1579 1 120050 3
1399 1580 2 120021 3
1400 1581 2 120031 3
1401 1582 2 120041 3
1402 1583 2 120051 3
1403 1584 3 120022 3
1404 1585 3 120032 3
1405 1586 3 120042 3
1406 1587 3 120052 3
1407 1588 4 120023 3
1408 1589 4 120033 3
1409 1590 4 120043 3
1410 1591 4 120053 3
1411 1592 3 120240 3
1412 1593 3 120250 3
1413 1594 3 120260 3
1414 1595 3 120270 3
1415 1596 3 120300 3
1416 1597 3 120310 3
1417 1598 3 120320 3
1418 1599 3 120330 3
1419 1600 3 120340 3
1420 1601 3 120350 3
1421 1602 3 120360 3
1422 1603 3 120370 3
1423 1604 3 120380 3
1424 1605 3 120390 3
1425 1606 3 120400 3
1426 1607 3 120410 3
1427 1608 3 120420 3
1428 1609 3 120430 3
1429 1610 3 120450 3
1430 1611 3 120460 3
1431 1612 4 140000 3
1432 1613 4 150010 3
1433 1614 4 150020 3
1434 1615 4 150030 3
1435 1616 4 150040 3
1436 1618 2 102000030 1
1437 1619 2 102000040 1
1438 1620 2 104000020 1
1439 1621 3 102000060 1
1440 1622 3 102000070 1
1441 1623 3 102000080 1
1442 1624 3 103000050 1
1443 1625 3 105000050 1
1444 1626 4 102000100 1
1445 1627 4 102000110 1
1446 1628 4 106000090 1
1447 1629 1 102000000 2
1448 1630 2 102000001 2
1449 1631 3 102000002 2
1450 1632 4 102000003 2
1451 1633 5 102000004 2
1452 1634 1 112000000 2
1453 1635 2 112000001 2
1454 1636 3 112000002 2
1455 1637 4 112000003 2
1456 1638 5 112000004 2
1457 1639 1 110020 3
1458 1640 1 110030 3
1459 1641 1 110040 3
1460 1642 1 110050 3
1461 1643 2 110021 3
1462 1644 2 110031 3
1463 1645 2 110041 3
1464 1646 2 110051 3
1465 1647 3 110022 3
1466 1648 3 110032 3
1467 1649 3 110042 3
1468 1650 3 110052 3
1469 1651 4 110023 3
1470 1652 4 110033 3
1471 1653 4 110043 3
1472 1654 4 110053 3
1473 1655 3 110060 3
1474 1656 3 110070 3
1475 1657 3 110080 3
1476 1658 3 110090 3
1477 1659 3 110100 3
1478 1660 3 110110 3
1479 1661 3 110120 3
1480 1662 3 110130 3
1481 1663 3 110140 3
1482 1664 3 110150 3
1483 1665 3 110160 3
1484 1666 3 110170 3
1485 1667 3 110180 3
1486 1668 3 110190 3
1487 1669 3 110200 3
1488 1670 3 110210 3
1489 1671 3 110220 3
1490 1672 3 110230 3
1491 1673 3 110240 3
1492 1674 3 110250 3
1493 1675 3 110260 3
1494 1676 3 110270 3
1495 1677 4 140000 3
1496 1678 4 150010 3
1497 1679 4 150020 3
1498 1680 4 150030 3
1499 1681 4 150040 3
1500 1683 2 106000030 1
1501 1684 2 106000040 1
1502 1685 2 105000020 1
1503 1686 3 106000060 1
1504 1687 3 106000070 1
1505 1688 3 106000080 1
1506 1689 3 101000070 1
1507 1690 4 106000100 1
1508 1691 4 106000110 1
1509 1692 4 104000090 1
1510 1693 1 103000000 2
1511 1694 2 103000001 2
1512 1695 3 103000002 2
1513 1696 4 103000003 2
1514 1697 5 103000004 2
1515 1698 1 112000000 2
1516 1699 2 112000001 2
1517 1700 3 112000002 2
1518 1701 4 112000003 2
1519 1702 5 112000004 2
1520 1703 1 120020 3
1521 1704 1 120030 3
1522 1705 1 120040 3
1523 1706 1 120050 3
1524 1707 2 120021 3
1525 1708 2 120031 3
1526 1709 2 120041 3
1527 1710 2 120051 3
1528 1711 3 120022 3
1529 1712 3 120032 3
1530 1713 3 120042 3
1531 1714 3 120052 3
1532 1715 4 120023 3
1533 1716 4 120033 3
1534 1717 4 120043 3
1535 1718 4 120053 3
1536 1719 3 120240 3
1537 1720 3 120250 3
1538 1721 3 120260 3
1539 1722 3 120270 3
1540 1723 3 120300 3
1541 1724 3 120310 3
1542 1725 3 120320 3
1543 1726 3 120330 3
1544 1727 3 120340 3
1545 1728 3 120350 3
1546 1729 3 120360 3
1547 1730 3 120370 3
1548 1731 3 120380 3
1549 1732 3 120390 3
1550 1733 3 120400 3
1551 1734 3 120410 3
1552 1735 3 120420 3
1553 1736 3 120430 3
1554 1737 3 120450 3
1555 1738 3 120460 3
1556 1739 4 140000 3
1557 1740 4 150010 3
1558 1741 4 150020 3
1559 1742 4 150030 3
1560 1743 4 150040 3
1561 1745 2 103000030 1
1562 1746 2 103000040 1
1563 1747 2 107000020 1
1564 1748 2 101000030 1
1565 1749 3 101000050 1
1566 1750 3 101000060 1
1567 1751 3 101000080 1
1568 1752 3 103000060 1
1569 1753 3 103000070 1
1570 1754 3 103000080 1
1571 1755 3 101000040 1
1572 1756 4 101000090 1
1573 1757 4 102000090 1
1574 1758 4 103000100 1
1575 1759 4 101000100 1
1576 1760 4 101000110 1
1577 1761 1 101000000 2
1578 1762 2 101000001 2
1579 1763 3 101000002 2
1580 1764 4 101000008 2
1581 1765 5 101000004 2
1582 1766 1 120000000 2
1583 1767 2 120000001 2
1584 1768 3 120000002 2
1585 1769 4 120000003 2
1586 1770 5 120000004 2
1587 1771 3 170003 3
1588 1772 4 170004 3
1589 1774 2 107000030 1
1590 1775 2 107000040 1
1591 1776 2 101000020 1
1592 1777 3 107000060 1
1593 1778 3 107000070 1
1594 1779 3 107000080 1
1595 1780 3 108000050 1
1596 1781 4 107000100 1
1597 1782 4 103000090 1
1598 1783 1 105000000 2
1599 1784 2 105000001 2
1600 1785 3 105000002 2
1601 1786 4 105000003 2
1602 1787 5 105000004 2
1603 1788 1 120000000 2
1604 1789 2 120000001 2
1605 1790 3 120000002 2
1606 1791 4 120000003 2
1607 1792 5 120000004 2
1608 1793 1 130020 3
1609 1794 1 130030 3
1610 1795 1 130040 3
1611 1796 1 130050 3
1612 1797 2 130021 3
1613 1798 2 130031 3
1614 1799 2 130041 3
1615 1800 2 130051 3
1616 1801 3 130022 3
1617 1802 3 130032 3
1618 1803 3 130042 3
1619 1804 3 130052 3
1620 1805 4 130023 3
1621 1806 4 130033 3
1622 1807 4 130043 3
1623 1808 4 130053 3
1624 1809 3 130060 3
1625 1810 3 130070 3
1626 1811 3 130080 3
1627 1812 3 130090 3
1628 1813 3 130100 3
1629 1814 3 130110 3
1630 1815 3 130120 3
1631 1816 3 130130 3
1632 1817 3 130140 3
1633 1818 3 130150 3
1634 1819 3 130160 3
1635 1820 3 130170 3
1636 1821 3 130180 3
1637 1822 3 130190 3
1638 1823 3 130200 3
1639 1824 3 130420 3
1640 1825 3 130510 3
1641 1826 3 130520 3
1642 1827 3 130530 3
1643 1828 3 130540 3
1644 1829 4 140000 3
1645 1830 4 150010 3
1646 1831 4 150020 3
1647 1832 4 150030 3
1648 1833 4 150040 3
1649 1835 2 102000030 1
1650 1836 2 102000040 1
1651 1837 2 104000020 1
1652 1838 3 102000060 1
1653 1839 3 102000070 1
1654 1840 3 102000080 1
1655 1841 3 103000050 1
1656 1842 3 105000050 1
1657 1843 4 102000100 1
1658 1844 4 102000110 1
1659 1845 4 106000090 1
1660 1846 1 102000000 2
1661 1847 2 102000001 2
1662 1848 3 102000002 2
1663 1849 4 102000003 2
1664 1850 5 102000004 2
1665 1851 1 112000000 2
1666 1852 2 112000001 2
1667 1853 3 112000002 2
1668 1854 4 112000003 2
1669 1855 5 112000004 2
1670 1856 1 120020 3
1671 1857 1 120030 3
1672 1858 1 120040 3
1673 1859 1 120050 3
1674 1860 2 120021 3
1675 1861 2 120031 3
1676 1862 2 120041 3
1677 1863 2 120051 3
1678 1864 3 120022 3
1679 1865 3 120032 3
1680 1866 3 120042 3
1681 1867 3 120052 3
1682 1868 4 120023 3
1683 1869 4 120033 3
1684 1870 4 120043 3
1685 1871 4 120053 3
1686 1872 3 120240 3
1687 1873 3 120250 3
1688 1874 3 120260 3
1689 1875 3 120270 3
1690 1876 3 120300 3
1691 1877 3 120310 3
1692 1878 3 120320 3
1693 1879 3 120330 3
1694 1880 3 120340 3
1695 1881 3 120350 3
1696 1882 3 120360 3
1697 1883 3 120370 3
1698 1884 3 120380 3
1699 1885 3 120390 3
1700 1886 3 120400 3
1701 1887 3 120410 3
1702 1888 3 120420 3
1703 1889 3 120430 3
1704 1890 3 120450 3
1705 1891 3 120460 3
1706 1892 4 140000 3
1707 1893 4 150010 3
1708 1894 4 150020 3
1709 1895 4 150030 3
1710 1896 4 150040 3
1711 1898 2 108000030 1
1712 1899 2 108000040 1
1713 1900 2 106000020 1
1714 1901 3 108000060 1
1715 1902 3 108000070 1
1716 1903 3 108000080 1
1717 1904 3 107000050 1
1718 1905 4 108000100 1
1719 1906 4 105000090 1
1720 1907 1 108000000 2
1721 1908 2 108000001 2
1722 1909 3 108000002 2
1723 1910 4 108000003 2
1724 1911 5 108000004 2
1725 1912 1 120000000 2
1726 1913 2 120000001 2
1727 1914 3 120000002 2
1728 1915 4 120000003 2
1729 1916 5 120000004 2
1730 1917 3 170003 3
1731 1918 4 170004 3
1732 1920 2 103000030 1
1733 1921 2 103000040 1
1734 1922 2 107000020 1
1735 1923 2 101000030 1
1736 1924 3 101000050 1
1737 1925 3 101000060 1
1738 1926 3 101000080 1
1739 1927 3 103000060 1
1740 1928 3 103000070 1
1741 1929 3 103000080 1
1742 1930 3 101000040 1
1743 1931 4 101000090 1
1744 1932 4 102000090 1
1745 1933 4 103000100 1
1746 1934 4 101000100 1
1747 1935 4 101000110 1
1748 1936 1 101000000 2
1749 1937 2 101000001 2
1750 1938 3 101000002 2
1751 1939 4 101000008 2
1752 1940 5 101000004 2
1753 1941 1 112000000 2
1754 1942 2 112000001 2
1755 1943 3 112000002 2
1756 1944 4 112000003 2
1757 1945 5 112000004 2
1758 1946 3 170003 3
1759 1947 4 170004 3
1760 1949 2 105000030 1
1761 1950 2 105000040 1
1762 1951 2 102000020 1
1763 1952 2 103000020 1
1764 1953 3 105000060 1
1765 1954 3 105000070 1
1766 1955 3 105000080 1
1767 1956 3 104000050 1
1768 1957 3 106000050 1
1769 1958 4 105000100 1
1770 1959 4 105000110 1
1771 1960 4 108000090 1
1772 1961 1 109000000 2
1773 1962 2 109000001 2
1774 1963 3 109000002 2
1775 1964 4 109000003 2
1776 1965 5 109000004 2
1777 1966 1 112000000 2
1778 1967 2 112000001 2
1779 1968 3 112000002 2
1780 1969 4 112000003 2
1781 1970 5 112000004 2
1782 1971 3 180003 3
1783 1972 4 180004 3
1784 1974 2 104000030 1
1785 1975 2 104000040 1
1786 1976 2 108000020 1
1787 1977 3 104000060 1
1788 1978 3 104000070 1
1789 1979 3 104000080 1
1790 1980 3 102000050 1
1791 1981 4 104000100 1
1792 1982 4 104000110 1
1793 1983 4 107000090 1
1794 1984 1 111000000 2
1795 1985 2 111000001 2
1796 1986 3 111000002 2
1797 1987 4 111000003 2
1798 1988 5 111000004 2
1799 1989 1 120000000 2
1800 1990 2 120000001 2
1801 1991 3 120000002 2
1802 1992 4 120000003 2
1803 1993 5 120000004 2
1804 1994 1 110020 3
1805 1995 1 110030 3
1806 1996 1 110040 3
1807 1997 1 110050 3
1808 1998 2 110021 3
1809 1999 2 110031 3
1810 2000 2 110041 3
1811 2001 2 110051 3
1812 2002 3 110022 3
1813 2003 3 110032 3
1814 2004 3 110042 3
1815 2005 3 110052 3
1816 2006 4 110023 3
1817 2007 4 110033 3
1818 2008 4 110043 3
1819 2009 4 110053 3
1820 2010 3 110060 3
1821 2011 3 110070 3
1822 2012 3 110080 3
1823 2013 3 110090 3
1824 2014 3 110100 3
1825 2015 3 110110 3
1826 2016 3 110120 3
1827 2017 3 110130 3
1828 2018 3 110140 3
1829 2019 3 110150 3
1830 2020 3 110160 3
1831 2021 3 110170 3
1832 2022 3 110180 3
1833 2023 3 110190 3
1834 2024 3 110200 3
1835 2025 3 110210 3
1836 2026 3 110220 3
1837 2027 3 110230 3
1838 2028 3 110240 3
1839 2029 3 110250 3
1840 2030 3 110260 3
1841 2031 3 110270 3
1842 2032 4 140000 3
1843 2033 4 150010 3
1844 2034 4 150020 3
1845 2035 4 150030 3
1846 2036 4 150040 3
1847 2038 3 105000060 1
1848 2039 3 105000070 1
1849 2040 3 105000080 1
1850 2041 3 104000050 1
1851 2042 3 106000050 1
1852 2043 4 105000100 1
1853 2044 4 105000110 1
1854 2045 4 108000090 1
1855 2046 5 105000120 1
1856 2047 1 109000000 2
1857 2048 2 109000001 2
1858 2049 3 109000002 2
1859 2050 4 109000003 2
1860 2051 5 109000004 2
1861 2052 1 112000000 2
1862 2053 2 112000001 2
1863 2054 3 112000002 2
1864 2055 4 112000003 2
1865 2056 5 112000004 2
1866 2057 3 170004 3
1867 2059 3 101000050 1
1868 2060 3 101000060 1
1869 2061 3 101000080 1
1870 2062 3 103000060 1
1871 2063 3 103000070 1
1872 2064 3 103000080 1
1873 2065 3 101000040 1
1874 2066 4 101000090 1
1875 2067 4 102000090 1
1876 2068 4 103000100 1
1877 2069 4 101000100 1
1878 2070 4 101000110 1
1879 2071 5 101000120 1
1880 2072 5 103000120 1
1881 2073 1 101000000 2
1882 2074 2 101000001 2
1883 2075 3 101000002 2
1884 2076 4 101000008 2
1885 2077 5 101000004 2
1886 2078 1 120000000 2
1887 2079 2 120000001 2
1888 2080 3 120000002 2
1889 2081 4 120000003 2
1890 2082 5 120000004 2
1891 2083 3 170004 3
1892 2085 3 107000060 1
1893 2086 3 107000070 1
1894 2087 3 107000080 1
1895 2088 3 108000050 1
1896 2089 4 107000100 1
1897 2090 4 103000090 1
1898 2091 5 107000110 1
1899 2092 1 105000000 2
1900 2093 2 105000001 2
1901 2094 3 105000002 2
1902 2095 4 105000003 2
1903 2096 5 105000004 2
1904 2097 1 120000000 2
1905 2098 2 120000001 2
1906 2099 3 120000002 2
1907 2100 4 120000003 2
1908 2101 5 120000004 2
1909 2102 3 170004 3
1910 2104 3 101000050 1
1911 2105 3 101000060 1
1912 2106 3 101000080 1
1913 2107 3 103000060 1
1914 2108 3 103000070 1
1915 2109 3 103000080 1
1916 2110 3 101000040 1
1917 2111 4 101000090 1
1918 2112 4 102000090 1
1919 2113 4 103000100 1
1920 2114 4 101000100 1
1921 2115 4 101000110 1
1922 2116 5 101000120 1
1923 2117 5 103000120 1
1924 2118 1 101000000 2
1925 2119 2 101000001 2
1926 2120 3 101000002 2
1927 2121 4 101000008 2
1928 2122 5 101000004 2
1929 2123 1 112000000 2
1930 2124 2 112000001 2
1931 2125 3 112000002 2
1932 2126 4 112000003 2
1933 2127 5 112000004 2
1934 2128 1 130020 3
1935 2129 1 130030 3
1936 2130 1 130040 3
1937 2131 1 130050 3
1938 2132 2 130021 3
1939 2133 2 130031 3
1940 2134 2 130041 3
1941 2135 2 130051 3
1942 2136 3 130022 3
1943 2137 3 130032 3
1944 2138 3 130042 3
1945 2139 3 130052 3
1946 2140 4 130023 3
1947 2141 4 130033 3
1948 2142 4 130043 3
1949 2143 4 130053 3
1950 2144 5 130024 3
1951 2145 5 130034 3
1952 2146 5 130044 3
1953 2147 5 130054 3
1954 2148 3 130060 3
1955 2149 3 130070 3
1956 2150 3 130080 3
1957 2151 3 130090 3
1958 2152 3 130100 3
1959 2153 3 130110 3
1960 2154 3 130120 3
1961 2155 3 130130 3
1962 2156 3 130140 3
1963 2157 3 130150 3
1964 2158 3 130160 3
1965 2159 3 130170 3
1966 2160 3 130180 3
1967 2161 3 130190 3
1968 2162 3 130200 3
1969 2163 3 130420 3
1970 2164 3 130510 3
1971 2165 3 130520 3
1972 2166 3 130530 3
1973 2167 3 130540 3
1974 2168 4 140000 3
1975 2169 4 150010 3
1976 2170 4 150020 3
1977 2171 4 150030 3
1978 2172 4 150040 3
1979 2174 3 102000060 1
1980 2175 3 102000070 1
1981 2176 3 102000080 1
1982 2177 3 103000050 1
1983 2178 3 105000050 1
1984 2179 4 102000100 1
1985 2180 4 102000110 1
1986 2181 4 106000090 1
1987 2182 5 102000120 1
1988 2183 1 102000000 2
1989 2184 2 102000001 2
1990 2185 3 102000002 2
1991 2186 4 102000003 2
1992 2187 5 102000004 2
1993 2188 1 112000000 2
1994 2189 2 112000001 2
1995 2190 3 112000002 2
1996 2191 4 112000003 2
1997 2192 5 112000004 2
1998 2193 3 170004 3
1999 2195 3 101000050 1
2000 2196 3 101000060 1
2001 2197 3 101000080 1
2002 2198 3 103000060 1
2003 2199 3 103000070 1
2004 2200 3 103000080 1
2005 2201 3 101000040 1
2006 2202 4 101000090 1
2007 2203 4 102000090 1
2008 2204 4 103000100 1
2009 2205 4 101000100 1
2010 2206 4 101000110 1
2011 2207 5 101000120 1
2012 2208 5 103000120 1
2013 2209 1 101000000 2
2014 2210 2 101000001 2
2015 2211 3 101000002 2
2016 2212 4 101000008 2
2017 2213 5 101000004 2
2018 2214 1 120000000 2
2019 2215 2 120000001 2
2020 2216 3 120000002 2
2021 2217 4 120000003 2
2022 2218 5 120000004 2
2023 2219 3 170004 3
2024 2221 3 106000060 1
2025 2222 3 106000070 1
2026 2223 3 106000080 1
2027 2224 3 101000070 1
2028 2225 4 106000100 1
2029 2226 4 106000110 1
2030 2227 4 104000090 1
2031 2228 5 106000120 1
2032 2229 1 103000000 2
2033 2230 2 103000001 2
2034 2231 3 103000002 2
2035 2232 4 103000003 2
2036 2233 5 103000004 2
2037 2234 1 112000000 2
2038 2235 2 112000001 2
2039 2236 3 112000002 2
2040 2237 4 112000003 2
2041 2238 5 112000004 2
2042 2239 1 130020 3
2043 2240 1 130030 3
2044 2241 1 130040 3
2045 2242 1 130050 3
2046 2243 2 130021 3
2047 2244 2 130031 3
2048 2245 2 130041 3
2049 2246 2 130051 3
2050 2247 3 130022 3
2051 2248 3 130032 3
2052 2249 3 130042 3
2053 2250 3 130052 3
2054 2251 4 130023 3
2055 2252 4 130033 3
2056 2253 4 130043 3
2057 2254 4 130053 3
2058 2255 5 130024 3
2059 2256 5 130034 3
2060 2257 5 130044 3
2061 2258 5 130054 3
2062 2259 3 130060 3
2063 2260 3 130070 3
2064 2261 3 130080 3
2065 2262 3 130090 3
2066 2263 3 130100 3
2067 2264 3 130110 3
2068 2265 3 130120 3
2069 2266 3 130130 3
2070 2267 3 130140 3
2071 2268 3 130150 3
2072 2269 3 130160 3
2073 2270 3 130170 3
2074 2271 3 130180 3
2075 2272 3 130190 3
2076 2273 3 130200 3
2077 2274 3 130420 3
2078 2275 3 130510 3
2079 2276 3 130520 3
2080 2277 3 130530 3
2081 2278 3 130540 3
2082 2279 4 140000 3
2083 2280 4 150010 3
2084 2281 4 150020 3
2085 2282 4 150030 3
2086 2283 4 150040 3
2087 2285 3 108000060 1
2088 2286 3 108000070 1
2089 2287 3 108000080 1
2090 2288 3 107000050 1
2091 2289 4 108000100 1
2092 2290 4 105000090 1
2093 2291 5 108000110 1
2094 2292 1 108000000 2
2095 2293 2 108000001 2
2096 2294 3 108000002 2
2097 2295 4 108000003 2
2098 2296 5 108000004 2
2099 2297 1 120000000 2
2100 2298 2 120000001 2
2101 2299 3 120000002 2
2102 2300 4 120000003 2
2103 2301 5 120000004 2
2104 2302 1 120020 3
2105 2303 1 120030 3
2106 2304 1 120040 3
2107 2305 1 120050 3
2108 2306 2 120021 3
2109 2307 2 120031 3
2110 2308 2 120041 3
2111 2309 2 120051 3
2112 2310 3 120022 3
2113 2311 3 120032 3
2114 2312 3 120042 3
2115 2313 3 120052 3
2116 2314 4 120023 3
2117 2315 4 120033 3
2118 2316 4 120043 3
2119 2317 4 120053 3
2120 2318 5 120024 3
2121 2319 5 120034 3
2122 2320 5 120044 3
2123 2321 5 120054 3
2124 2322 3 120240 3
2125 2323 3 120250 3
2126 2324 3 120260 3
2127 2325 3 120270 3
2128 2326 3 120300 3
2129 2327 3 120310 3
2130 2328 3 120320 3
2131 2329 3 120330 3
2132 2330 3 120340 3
2133 2331 3 120350 3
2134 2332 3 120360 3
2135 2333 3 120370 3
2136 2334 3 120380 3
2137 2335 3 120390 3
2138 2336 3 120400 3
2139 2337 3 120410 3
2140 2338 3 120420 3
2141 2339 3 120430 3
2142 2340 3 120450 3
2143 2341 3 120460 3
2144 2342 4 140000 3
2145 2343 4 150010 3
2146 2344 4 150020 3
2147 2345 4 150030 3
2148 2346 4 150040 3
2149 2348 3 104000060 1
2150 2349 3 104000070 1
2151 2350 3 104000080 1
2152 2351 3 102000050 1
2153 2352 4 104000100 1
2154 2353 4 104000110 1
2155 2354 4 107000090 1
2156 2355 5 104000120 1
2157 2356 1 111000000 2
2158 2357 2 111000001 2
2159 2358 3 111000002 2
2160 2359 4 111000003 2
2161 2360 5 111000004 2
2162 2361 1 120000000 2
2163 2362 2 120000001 2
2164 2363 3 120000002 2
2165 2364 4 120000003 2
2166 2365 5 120000004 2
2167 2366 1 110020 3
2168 2367 1 110030 3
2169 2368 1 110040 3
2170 2369 1 110050 3
2171 2370 2 110021 3
2172 2371 2 110031 3
2173 2372 2 110041 3
2174 2373 2 110051 3
2175 2374 3 110022 3
2176 2375 3 110032 3
2177 2376 3 110042 3
2178 2377 3 110052 3
2179 2378 4 110023 3
2180 2379 4 110033 3
2181 2380 4 110043 3
2182 2381 4 110053 3
2183 2382 5 110024 3
2184 2383 5 110034 3
2185 2384 5 110044 3
2186 2385 5 110054 3
2187 2386 3 110060 3
2188 2387 3 110070 3
2189 2388 3 110080 3
2190 2389 3 110090 3
2191 2390 3 110100 3
2192 2391 3 110110 3
2193 2392 3 110120 3
2194 2393 3 110130 3
2195 2394 3 110140 3
2196 2395 3 110150 3
2197 2396 3 110160 3
2198 2397 3 110170 3
2199 2398 3 110180 3
2200 2399 3 110190 3
2201 2400 3 110200 3
2202 2401 3 110210 3
2203 2402 3 110220 3
2204 2403 3 110230 3
2205 2404 3 110240 3
2206 2405 3 110250 3
2207 2406 3 110260 3
2208 2407 3 110270 3
2209 2408 4 140000 3
2210 2409 4 150010 3
2211 2410 4 150020 3
2212 2411 4 150030 3
2213 2412 4 150040 3
2214 2414 3 105000060 1
2215 2415 3 105000070 1
2216 2416 3 105000080 1
2217 2417 3 104000050 1
2218 2418 3 106000050 1
2219 2419 4 105000100 1
2220 2420 4 105000110 1
2221 2421 4 108000090 1
2222 2422 5 105000120 1
2223 2423 1 109000000 2
2224 2424 2 109000001 2
2225 2425 3 109000002 2
2226 2426 4 109000003 2
2227 2427 5 109000004 2
2228 2428 1 112000000 2
2229 2429 2 112000001 2
2230 2430 3 112000002 2
2231 2431 4 112000003 2
2232 2432 5 112000004 2
2233 2433 3 170004 3
2234 2435 3 104000060 1
2235 2436 3 104000070 1
2236 2437 3 104000080 1
2237 2438 3 102000050 1
2238 2439 4 104000100 1
2239 2440 4 104000110 1
2240 2441 4 107000090 1
2241 2442 5 104000120 1
2242 2443 1 111000000 2
2243 2444 2 111000001 2
2244 2445 3 111000002 2
2245 2446 4 111000003 2
2246 2447 5 111000004 2
2247 2448 1 120000000 2
2248 2449 2 120000001 2
2249 2450 3 120000002 2
2250 2451 4 120000003 2
2251 2452 5 120000004 2
2252 2453 1 130020 3
2253 2454 1 130030 3
2254 2455 1 130040 3
2255 2456 1 130050 3
2256 2457 2 130021 3
2257 2458 2 130031 3
2258 2459 2 130041 3
2259 2460 2 130051 3
2260 2461 3 130022 3
2261 2462 3 130032 3
2262 2463 3 130042 3
2263 2464 3 130052 3
2264 2465 4 130023 3
2265 2466 4 130033 3
2266 2467 4 130043 3
2267 2468 4 130053 3
2268 2469 5 130024 3
2269 2470 5 130034 3
2270 2471 5 130044 3
2271 2472 5 130054 3
2272 2473 3 130060 3
2273 2474 3 130070 3
2274 2475 3 130080 3
2275 2476 3 130090 3
2276 2477 3 130100 3
2277 2478 3 130110 3
2278 2479 3 130120 3
2279 2480 3 130130 3
2280 2481 3 130140 3
2281 2482 3 130150 3
2282 2483 3 130160 3
2283 2484 3 130170 3
2284 2485 3 130180 3
2285 2486 3 130190 3
2286 2487 3 130200 3
2287 2488 3 130420 3
2288 2489 3 130510 3
2289 2490 3 130520 3
2290 2491 3 130530 3
2291 2492 3 130540 3
2292 2493 4 140000 3
2293 2494 4 150010 3
2294 2495 4 150020 3
2295 2496 4 150030 3
2296 2497 4 150040 3
2297 2500 1 101000000 2
2298 2501 2 101000001 2
2299 2502 3 101000002 2
2300 2503 4 101000008 2
2301 2504 5 101000004 2
2302 2505 1 102000000 2
2303 2506 2 102000001 2
2304 2507 3 102000002 2
2305 2508 4 102000003 2
2306 2509 5 102000004 2
2307 2510 1 103000000 2
2308 2511 2 103000001 2
2309 2512 3 103000002 2
2310 2513 4 103000003 2
2311 2514 5 103000004 2
2312 2515 1 105000000 2
2313 2516 2 105000001 2
2314 2517 3 105000002 2
2315 2518 4 105000003 2
2316 2519 5 105000004 2
2317 2520 1 108000000 2
2318 2521 2 108000001 2
2319 2522 3 108000002 2
2320 2523 4 108000003 2
2321 2524 5 108000004 2
2322 2525 1 109000000 2
2323 2526 2 109000001 2
2324 2527 3 109000002 2
2325 2528 4 109000003 2
2326 2529 5 109000004 2
2327 2530 1 111000000 2
2328 2531 2 111000001 2
2329 2532 3 111000002 2
2330 2533 4 111000003 2
2331 2534 5 111000004 2
2332 2535 1 112000000 2
2333 2536 2 112000001 2
2334 2537 3 112000002 2
2335 2538 4 112000003 2
2336 2539 5 112000004 2
2337 2540 1 120000000 2
2338 2541 2 120000001 2
2339 2542 3 120000002 2
2340 2543 4 120000003 2
2341 2544 5 120000004 2
2342 2545 1 101000010 1
2343 2546 2 101000020 1
2344 2547 2 101000030 1
2345 2548 3 101000040 1
2346 2549 3 101000050 1
2347 2550 3 101000060 1
2348 2551 3 101000070 1
2349 2552 3 101000080 1
2350 2553 1 102000010 1
2351 2554 2 102000020 1
2352 2555 2 102000030 1
2353 2556 2 102000040 1
2354 2557 3 102000050 1
2355 2558 3 102000060 1
2356 2559 3 102000070 1
2357 2560 3 102000080 1
2358 2561 1 103000010 1
2359 2562 2 103000020 1
2360 2563 2 103000030 1
2361 2564 2 103000040 1
2362 2565 3 103000050 1
2363 2566 3 103000060 1
2364 2567 3 103000070 1
2365 2568 3 103000080 1
2366 2569 1 104000010 1
2367 2570 2 104000020 1
2368 2571 2 104000030 1
2369 2572 2 104000040 1
2370 2573 3 104000050 1
2371 2574 3 104000060 1
2372 2575 3 104000070 1
2373 2576 3 104000080 1
2374 2577 1 105000010 1
2375 2578 2 105000020 1
2376 2579 2 105000030 1
2377 2580 2 105000040 1
2378 2581 3 105000050 1
2379 2582 3 105000060 1
2380 2583 3 105000070 1
2381 2584 3 105000080 1
2382 2585 1 106000010 1
2383 2586 2 106000020 1
2384 2587 2 106000030 1
2385 2588 2 106000040 1
2386 2589 3 106000050 1
2387 2590 3 106000060 1
2388 2591 3 106000070 1
2389 2592 3 106000080 1
2390 2593 1 107000010 1
2391 2594 2 107000020 1
2392 2595 2 107000030 1
2393 2596 2 107000040 1
2394 2597 3 107000050 1
2395 2598 3 107000060 1
2396 2599 3 107000070 1
2397 2600 3 107000080 1
2398 2601 1 108000010 1
2399 2602 2 108000020 1
2400 2603 2 108000030 1
2401 2604 2 108000040 1
2402 2605 3 108000050 1
2403 2606 3 108000060 1
2404 2607 3 108000070 1
2405 2608 3 108000080 1
2406 2609 2 180001 3
2407 2611 1 101000000 2
2408 2612 2 101000001 2
2409 2613 3 101000002 2
2410 2614 4 101000008 2
2411 2615 5 101000004 2
2412 2616 1 102000000 2
2413 2617 2 102000001 2
2414 2618 3 102000002 2
2415 2619 4 102000003 2
2416 2620 5 102000004 2
2417 2621 1 103000000 2
2418 2622 2 103000001 2
2419 2623 3 103000002 2
2420 2624 4 103000003 2
2421 2625 5 103000004 2
2422 2626 1 105000000 2
2423 2627 2 105000001 2
2424 2628 3 105000002 2
2425 2629 4 105000003 2
2426 2630 5 105000004 2
2427 2631 1 108000000 2
2428 2632 2 108000001 2
2429 2633 3 108000002 2
2430 2634 4 108000003 2
2431 2635 5 108000004 2
2432 2636 1 109000000 2
2433 2637 2 109000001 2
2434 2638 3 109000002 2
2435 2639 4 109000003 2
2436 2640 5 109000004 2
2437 2641 1 111000000 2
2438 2642 2 111000001 2
2439 2643 3 111000002 2
2440 2644 4 111000003 2
2441 2645 5 111000004 2
2442 2646 1 112000000 2
2443 2647 2 112000001 2
2444 2648 3 112000002 2
2445 2649 4 112000003 2
2446 2650 5 112000004 2
2447 2651 1 120000000 2
2448 2652 2 120000001 2
2449 2653 3 120000002 2
2450 2654 4 120000003 2
2451 2655 5 120000004 2
2452 2656 1 101000010 1
2453 2657 2 101000020 1
2454 2658 2 101000030 1
2455 2659 3 101000040 1
2456 2660 3 101000050 1
2457 2661 3 101000060 1
2458 2662 3 101000070 1
2459 2663 3 101000080 1
2460 2664 1 102000010 1
2461 2665 2 102000020 1
2462 2666 2 102000030 1
2463 2667 2 102000040 1
2464 2668 3 102000050 1
2465 2669 3 102000060 1
2466 2670 3 102000070 1
2467 2671 3 102000080 1
2468 2672 1 103000010 1
2469 2673 2 103000020 1
2470 2674 2 103000030 1
2471 2675 2 103000040 1
2472 2676 3 103000050 1
2473 2677 3 103000060 1
2474 2678 3 103000070 1
2475 2679 3 103000080 1
2476 2680 1 104000010 1
2477 2681 2 104000020 1
2478 2682 2 104000030 1
2479 2683 2 104000040 1
2480 2684 3 104000050 1
2481 2685 3 104000060 1
2482 2686 3 104000070 1
2483 2687 3 104000080 1
2484 2688 1 105000010 1
2485 2689 2 105000020 1
2486 2690 2 105000030 1
2487 2691 2 105000040 1
2488 2692 3 105000050 1
2489 2693 3 105000060 1
2490 2694 3 105000070 1
2491 2695 3 105000080 1
2492 2696 1 106000010 1
2493 2697 2 106000020 1
2494 2698 2 106000030 1
2495 2699 2 106000040 1
2496 2700 3 106000050 1
2497 2701 3 106000060 1
2498 2702 3 106000070 1
2499 2703 3 106000080 1
2500 2704 1 107000010 1
2501 2705 2 107000020 1
2502 2706 2 107000030 1
2503 2707 2 107000040 1
2504 2708 3 107000050 1
2505 2709 3 107000060 1
2506 2710 3 107000070 1
2507 2711 3 107000080 1
2508 2712 1 108000010 1
2509 2713 2 108000020 1
2510 2714 2 108000030 1
2511 2715 2 108000040 1
2512 2716 3 108000050 1
2513 2717 3 108000060 1
2514 2718 3 108000070 1
2515 2719 3 108000080 1
2516 2720 1 109000010 1
2517 2721 2 109000020 1
2518 2722 2 109000030 1
2519 2723 2 109000040 1
2520 2724 3 109000050 1
2521 2725 3 109000060 1
2522 2726 3 109000070 1
2523 2727 3 109000080 1
2524 2728 2 180001 3
2525 2731 1 101000000 2
2526 2732 2 101000001 2
2527 2733 3 101000002 2
2528 2734 4 101000008 2
2529 2735 5 101000004 2
2530 2736 1 102000000 2
2531 2737 2 102000001 2
2532 2738 3 102000002 2
2533 2739 4 102000003 2
2534 2740 5 102000004 2
2535 2741 1 103000000 2
2536 2742 2 103000001 2
2537 2743 3 103000002 2
2538 2744 4 103000003 2
2539 2745 5 103000004 2
2540 2746 1 105000000 2
2541 2747 2 105000001 2
2542 2748 3 105000002 2
2543 2749 4 105000003 2
2544 2750 5 105000004 2
2545 2751 1 107000000 2
2546 2752 2 107000001 2
2547 2753 3 107000002 2
2548 2754 4 107000003 2
2549 2755 5 107000004 2
2550 2756 1 108000000 2
2551 2757 2 108000001 2
2552 2758 3 108000002 2
2553 2759 4 108000003 2
2554 2760 5 108000004 2
2555 2761 1 109000000 2
2556 2762 2 109000001 2
2557 2763 3 109000002 2
2558 2764 4 109000003 2
2559 2765 5 109000004 2
2560 2766 1 111000000 2
2561 2767 2 111000001 2
2562 2768 3 111000002 2
2563 2769 4 111000003 2
2564 2770 5 111000004 2
2565 2771 1 112000000 2
2566 2772 2 112000001 2
2567 2773 3 112000002 2
2568 2774 4 112000003 2
2569 2775 5 112000004 2
2570 2776 1 120000000 2
2571 2777 2 120000001 2
2572 2778 3 120000002 2
2573 2779 4 120000003 2
2574 2780 5 120000004 2
2575 2781 1 101000010 1
2576 2782 2 101000020 1
2577 2783 2 101000030 1
2578 2784 3 101000040 1
2579 2785 3 101000050 1
2580 2786 3 101000060 1
2581 2787 3 101000070 1
2582 2788 3 101000080 1
2583 2789 1 102000010 1
2584 2790 2 102000020 1
2585 2791 2 102000030 1
2586 2792 2 102000040 1
2587 2793 3 102000050 1
2588 2794 3 102000060 1
2589 2795 3 102000070 1
2590 2796 3 102000080 1
2591 2797 1 103000010 1
2592 2798 2 103000020 1
2593 2799 2 103000030 1
2594 2800 2 103000040 1
2595 2801 3 103000050 1
2596 2802 3 103000060 1
2597 2803 3 103000070 1
2598 2804 3 103000080 1
2599 2805 1 104000010 1
2600 2806 2 104000020 1
2601 2807 2 104000030 1
2602 2808 2 104000040 1
2603 2809 3 104000050 1
2604 2810 3 104000060 1
2605 2811 3 104000070 1
2606 2812 3 104000080 1
2607 2813 1 105000010 1
2608 2814 2 105000020 1
2609 2815 2 105000030 1
2610 2816 2 105000040 1
2611 2817 3 105000050 1
2612 2818 3 105000060 1
2613 2819 3 105000070 1
2614 2820 3 105000080 1
2615 2821 1 106000010 1
2616 2822 2 106000020 1
2617 2823 2 106000030 1
2618 2824 2 106000040 1
2619 2825 3 106000050 1
2620 2826 3 106000060 1
2621 2827 3 106000070 1
2622 2828 3 106000080 1
2623 2829 1 107000010 1
2624 2830 2 107000020 1
2625 2831 2 107000030 1
2626 2832 2 107000040 1
2627 2833 3 107000050 1
2628 2834 3 107000060 1
2629 2835 3 107000070 1
2630 2836 3 107000080 1
2631 2837 1 108000010 1
2632 2838 2 108000020 1
2633 2839 2 108000030 1
2634 2840 2 108000040 1
2635 2841 3 108000050 1
2636 2842 3 108000060 1
2637 2843 3 108000070 1
2638 2844 3 108000080 1
2639 2845 1 109000010 1
2640 2846 2 109000020 1
2641 2847 2 109000030 1
2642 2848 2 109000040 1
2643 2849 3 109000050 1
2644 2850 3 109000060 1
2645 2851 3 109000070 1
2646 2852 3 109000080 1
2647 2853 1 110000010 1
2648 2854 2 110000020 1
2649 2855 2 110000030 1
2650 2856 2 110000040 1
2651 2857 3 110000050 1
2652 2858 3 110000060 1
2653 2859 3 110000070 1
2654 2860 3 110000080 1
2655 2861 2 180001 3
2656 2863 1 107000000 2
2657 2864 2 107000001 2
2658 2865 3 107000002 2
2659 2866 4 107000003 2
2660 2867 5 107000004 2
2661 2868 1 120000000 2
2662 2869 2 120000001 2
2663 2870 3 120000002 2
2664 2871 4 120000003 2
2665 2872 5 120000004 2
2666 2874 3 110000070 1
2667 2875 3 110000080 1
2668 2876 4 110000100 1
2669 2877 5 110000110 1
2670 2878 1 107000000 2
2671 2879 2 107000001 2
2672 2880 3 107000002 2
2673 2881 4 107000003 2
2674 2882 5 107000004 2
2675 2883 1 120000000 2
2676 2884 2 120000001 2
2677 2885 3 120000002 2
2678 2886 4 120000003 2
2679 2887 5 120000004 2
2680 2888 3 120023 3
2681 2889 3 120033 3
2682 2890 3 120043 3
2683 2891 3 120053 3
2684 2892 4 120024 3
2685 2893 4 120034 3
2686 2894 4 120044 3
2687 2895 4 120054 3
2688 2896 3 120240 3
2689 2897 3 120250 3
2690 2898 3 120260 3
2691 2899 3 120270 3
2692 2900 3 120300 3
2693 2901 3 120310 3
2694 2902 3 120320 3
2695 2903 3 120330 3
2696 2904 3 120340 3
2697 2905 3 120350 3
2698 2906 3 120360 3
2699 2907 3 120370 3
2700 2908 3 120380 3
2701 2909 3 120390 3
2702 2910 3 120400 3
2703 2911 3 120410 3
2704 2912 3 120420 3
2705 2913 3 120430 3
2706 2914 3 120450 3
2707 2915 3 120460 3
2708 2916 3 120550 3
2709 2917 3 120560 3
2710 2918 3 120570 3
2711 2919 3 120990 3
2712 2920 3 121000 3
2713 2921 3 121010 3
2714 2922 3 121020 3
2715 2923 4 140000 3
2716 2924 4 150010 3
2717 2925 4 150020 3
2718 2926 4 150030 3
2719 2927 4 150040 3
2720 2929 3 108000060 1
2721 2930 3 108000070 1
2722 2931 3 108000080 1
2723 2932 3 107000050 1
2724 2933 4 108000100 1
2725 2934 4 105000090 1
2726 2935 5 108000110 1
2727 2936 1 108000000 2
2728 2937 2 108000001 2
2729 2938 3 108000002 2
2730 2939 4 108000003 2
2731 2940 5 108000004 2
2732 2941 1 120000000 2
2733 2942 2 120000001 2
2734 2943 3 120000002 2
2735 2944 4 120000003 2
2736 2945 5 120000004 2
2737 2946 3 170004 3
2738 2948 3 102000060 1
2739 2949 3 102000070 1
2740 2950 3 102000080 1
2741 2951 3 103000050 1
2742 2952 3 105000050 1
2743 2953 4 102000100 1
2744 2954 4 102000110 1
2745 2955 4 106000090 1
2746 2956 4 109000090 1
2747 2957 5 102000120 1
2748 2958 1 102000000 2
2749 2959 2 102000001 2
2750 2960 3 102000002 2
2751 2961 4 102000003 2
2752 2962 5 102000004 2
2753 2963 1 112000000 2
2754 2964 2 112000001 2
2755 2965 3 112000002 2
2756 2966 4 112000003 2
2757 2967 5 112000004 2
2758 2968 3 170004 3
2759 2970 3 101000050 1
2760 2971 3 101000060 1
2761 2972 3 101000080 1
2762 2973 3 103000060 1
2763 2974 3 103000070 1
2764 2975 3 103000080 1
2765 2976 3 101000040 1
2766 2977 3 109000060 1
2767 2978 3 109000070 1
2768 2979 3 109000080 1
2769 2980 3 110000050 1
2770 2981 4 101000090 1
2771 2982 4 102000090 1
2772 2983 4 103000100 1
2773 2984 4 101000100 1
2774 2985 4 101000110 1
2775 2986 4 109000100 1
2776 2987 5 101000120 1
2777 2988 5 103000120 1
2778 2989 5 109000110 1
2779 2990 1 101000000 2
2780 2991 2 101000001 2
2781 2992 3 101000002 2
2782 2993 4 101000008 2
2783 2994 5 101000004 2
2784 2995 1 112000000 2
2785 2996 2 112000001 2
2786 2997 3 112000002 2
2787 2998 4 112000003 2
2788 2999 5 112000004 2
2789 3000 3 120023 3
2790 3001 3 120033 3
2791 3002 3 120043 3
2792 3003 3 120053 3
2793 3004 4 120024 3
2794 3005 4 120034 3
2795 3006 4 120044 3
2796 3007 4 120054 3
2797 3008 3 120240 3
2798 3009 3 120250 3
2799 3010 3 120260 3
2800 3011 3 120270 3
2801 3012 3 120300 3
2802 3013 3 120310 3
2803 3014 3 120320 3
2804 3015 3 120330 3
2805 3016 3 120340 3
2806 3017 3 120350 3
2807 3018 3 120360 3
2808 3019 3 120370 3
2809 3020 3 120380 3
2810 3021 3 120390 3
2811 3022 3 120400 3
2812 3023 3 120410 3
2813 3024 3 120420 3
2814 3025 3 120430 3
2815 3026 3 120450 3
2816 3027 3 120460 3
2817 3028 3 120550 3
2818 3029 3 120560 3
2819 3030 3 120570 3
2820 3031 3 120990 3
2821 3032 3 121000 3
2822 3033 3 121010 3
2823 3034 3 121020 3
2824 3035 4 140000 3
2825 3036 4 150010 3
2826 3037 4 150020 3
2827 3038 4 150030 3
2828 3039 4 150040 3
2829 3041 3 105000060 1
2830 3042 3 105000070 1
2831 3043 3 105000080 1
2832 3044 3 104000050 1
2833 3045 3 106000050 1
2834 3046 4 105000100 1
2835 3047 4 105000110 1
2836 3048 4 108000090 1
2837 3049 4 110000090 1
2838 3050 5 105000120 1
2839 3051 1 109000000 2
2840 3052 2 109000001 2
2841 3053 3 109000002 2
2842 3054 4 109000003 2
2843 3055 5 109000004 2
2844 3056 1 112000000 2
2845 3057 2 112000001 2
2846 3058 3 112000002 2
2847 3059 4 112000003 2
2848 3060 5 112000004 2
2849 3061 3 170004 3
2850 3063 3 107000060 1
2851 3064 3 107000070 1
2852 3065 3 107000080 1
2853 3066 3 108000050 1
2854 3067 3 109000050 1
2855 3068 4 107000100 1
2856 3069 4 103000090 1
2857 3070 5 107000110 1
2858 3071 1 105000000 2
2859 3072 2 105000001 2
2860 3073 3 105000002 2
2861 3074 4 105000003 2
2862 3075 5 105000004 2
2863 3076 1 120000000 2
2864 3077 2 120000001 2
2865 3078 3 120000002 2
2866 3079 4 120000003 2
2867 3080 5 120000004 2
2868 3081 3 130023 3
2869 3082 3 130033 3
2870 3083 3 130043 3
2871 3084 3 130053 3
2872 3085 4 130024 3
2873 3086 4 130034 3
2874 3087 4 130044 3
2875 3088 4 130054 3
2876 3089 3 130060 3
2877 3090 3 130070 3
2878 3091 3 130080 3
2879 3092 3 130090 3
2880 3093 3 130100 3
2881 3094 3 130110 3
2882 3095 3 130120 3
2883 3096 3 130130 3
2884 3097 3 130140 3
2885 3098 3 130150 3
2886 3099 3 130160 3
2887 3100 3 130170 3
2888 3101 3 130180 3
2889 3102 3 130190 3
2890 3103 3 130200 3
2891 3104 3 130420 3
2892 3105 3 130510 3
2893 3106 3 130520 3
2894 3107 3 130530 3
2895 3108 3 130540 3
2896 3109 3 130660 3
2897 3110 4 140000 3
2898 3111 4 150010 3
2899 3112 4 150020 3
2900 3113 4 150030 3
2901 3114 4 150040 3
2902 3116 3 106000060 1
2903 3117 3 106000070 1
2904 3118 3 106000080 1
2905 3119 3 101000070 1
2906 3120 3 110000060 1
2907 3121 4 106000100 1
2908 3122 4 106000110 1
2909 3123 4 104000090 1
2910 3124 5 106000120 1
2911 3125 1 103000000 2
2912 3126 2 103000001 2
2913 3127 3 103000002 2
2914 3128 4 103000003 2
2915 3129 5 103000004 2
2916 3130 1 112000000 2
2917 3131 2 112000001 2
2918 3132 3 112000002 2
2919 3133 4 112000003 2
2920 3134 5 112000004 2
2921 3135 3 170004 3
2922 3137 3 104000060 1
2923 3138 3 104000070 1
2924 3139 3 104000080 1
2925 3140 3 102000050 1
2926 3141 4 104000100 1
2927 3142 4 104000110 1
2928 3143 4 107000090 1
2929 3144 5 104000120 1
2930 3145 1 111000000 2
2931 3146 2 111000001 2
2932 3147 3 111000002 2
2933 3148 4 111000003 2
2934 3149 5 111000004 2
2935 3150 1 120000000 2
2936 3151 2 120000001 2
2937 3152 3 120000002 2
2938 3153 4 120000003 2
2939 3154 5 120000004 2
2940 3155 3 110023 3
2941 3156 3 110033 3
2942 3157 3 110043 3
2943 3158 3 110053 3
2944 3159 4 110024 3
2945 3160 4 110034 3
2946 3161 4 110044 3
2947 3162 4 110054 3
2948 3163 3 110060 3
2949 3164 3 110070 3
2950 3165 3 110080 3
2951 3166 3 110090 3
2952 3167 3 110100 3
2953 3168 3 110110 3
2954 3169 3 110120 3
2955 3170 3 110130 3
2956 3171 3 110140 3
2957 3172 3 110150 3
2958 3173 3 110160 3
2959 3174 3 110170 3
2960 3175 3 110180 3
2961 3176 3 110190 3
2962 3177 3 110200 3
2963 3178 3 110210 3
2964 3179 3 110220 3
2965 3180 3 110230 3
2966 3181 3 110240 3
2967 3182 3 110250 3
2968 3183 3 110260 3
2969 3184 3 110270 3
2970 3185 3 110620 3
2971 3186 3 110670 3
2972 3187 4 140000 3
2973 3188 4 150010 3
2974 3189 4 150020 3
2975 3190 4 150030 3
2976 3191 4 150040 3
2977 3193 3 101000050 1
2978 3194 3 101000060 1
2979 3195 3 101000080 1
2980 3196 3 103000060 1
2981 3197 3 103000070 1
2982 3198 3 103000080 1
2983 3199 3 101000040 1
2984 3200 3 109000060 1
2985 3201 3 109000070 1
2986 3202 3 109000080 1
2987 3203 3 110000050 1
2988 3204 4 101000090 1
2989 3205 4 102000090 1
2990 3206 4 103000100 1
2991 3207 4 101000100 1
2992 3208 4 101000110 1
2993 3209 4 109000100 1
2994 3210 5 101000120 1
2995 3211 5 103000120 1
2996 3212 5 109000110 1
2997 3213 1 101000000 2
2998 3214 2 101000001 2
2999 3215 3 101000002 2
3000 3216 4 101000008 2
3001 3217 5 101000004 2
3002 3218 1 120000000 2
3003 3219 2 120000001 2
3004 3220 3 120000002 2
3005 3221 4 120000003 2
3006 3222 5 120000004 2
3007 3223 3 170004 3
3008 3225 3 110000070 1
3009 3226 3 110000080 1
3010 3227 4 110000100 1
3011 3228 5 110000110 1
3012 3229 1 107000000 2
3013 3230 2 107000001 2
3014 3231 3 107000002 2
3015 3232 4 107000003 2
3016 3233 5 107000004 2
3017 3234 1 120000000 2
3018 3235 2 120000001 2
3019 3236 3 120000002 2
3020 3237 4 120000003 2
3021 3238 5 120000004 2
3022 3239 3 180004 3
3023 3241 3 105000060 1
3024 3242 3 105000070 1
3025 3243 3 105000080 1
3026 3244 3 104000050 1
3027 3245 3 106000050 1
3028 3246 4 105000100 1
3029 3247 4 105000110 1
3030 3248 4 108000090 1
3031 3249 4 110000090 1
3032 3250 5 105000120 1
3033 3251 1 109000000 2
3034 3252 2 109000001 2
3035 3253 3 109000002 2
3036 3254 4 109000003 2
3037 3255 5 109000004 2
3038 3256 1 112000000 2
3039 3257 2 112000001 2
3040 3258 3 112000002 2
3041 3259 4 112000003 2
3042 3260 5 112000004 2
3043 3261 3 170004 3
3044 3263 3 108000060 1
3045 3264 3 108000070 1
3046 3265 3 108000080 1
3047 3266 3 107000050 1
3048 3267 4 108000100 1
3049 3268 4 105000090 1
3050 3269 5 108000110 1
3051 3270 1 108000000 2
3052 3271 2 108000001 2
3053 3272 3 108000002 2
3054 3273 4 108000003 2
3055 3274 5 108000004 2
3056 3275 1 120000000 2
3057 3276 2 120000001 2
3058 3277 3 120000002 2
3059 3278 4 120000003 2
3060 3279 5 120000004 2
3061 3280 4 120024 3
3062 3281 4 120034 3
3063 3282 4 120044 3
3064 3283 4 120054 3
3065 3284 3 120240 3
3066 3285 3 120250 3
3067 3286 3 120260 3
3068 3287 3 120270 3
3069 3288 3 120300 3
3070 3289 3 120310 3
3071 3290 3 120320 3
3072 3291 3 120330 3
3073 3292 3 120340 3
3074 3293 3 120350 3
3075 3294 3 120360 3
3076 3295 3 120370 3
3077 3296 3 120380 3
3078 3297 3 120390 3
3079 3298 3 120400 3
3080 3299 3 120410 3
3081 3300 3 120420 3
3082 3301 3 120430 3
3083 3302 3 120450 3
3084 3303 3 120460 3
3085 3304 3 120550 3
3086 3305 3 120560 3
3087 3306 3 120570 3
3088 3307 3 120990 3
3089 3308 3 121000 3
3090 3309 3 121010 3
3091 3310 3 121020 3
3092 3311 4 140000 3
3093 3312 4 150010 3
3094 3313 4 150020 3
3095 3314 4 150030 3
3096 3315 4 150040 3
3097 3317 3 104000060 1
3098 3318 3 104000070 1
3099 3319 3 104000080 1
3100 3320 3 102000050 1
3101 3321 4 104000100 1
3102 3322 4 104000110 1
3103 3323 4 107000090 1
3104 3324 5 104000120 1
3105 3325 1 111000000 2
3106 3326 2 111000001 2
3107 3327 3 111000002 2
3108 3328 4 111000003 2
3109 3329 5 111000004 2
3110 3330 1 120000000 2
3111 3331 2 120000001 2
3112 3332 3 120000002 2
3113 3333 4 120000003 2
3114 3334 5 120000004 2
3115 3335 4 110024 3
3116 3336 4 110034 3
3117 3337 4 110044 3
3118 3338 4 110054 3
3119 3339 3 110060 3
3120 3340 3 110070 3
3121 3341 3 110080 3
3122 3342 3 110090 3
3123 3343 3 110100 3
3124 3344 3 110110 3
3125 3345 3 110120 3
3126 3346 3 110130 3
3127 3347 3 110140 3
3128 3348 3 110150 3
3129 3349 3 110160 3
3130 3350 3 110170 3
3131 3351 3 110180 3
3132 3352 3 110190 3
3133 3353 3 110200 3
3134 3354 3 110210 3
3135 3355 3 110220 3
3136 3356 3 110230 3
3137 3357 3 110240 3
3138 3358 3 110250 3
3139 3359 3 110260 3
3140 3360 3 110270 3
3141 3361 3 110620 3
3142 3362 3 110670 3
3143 3363 4 140000 3
3144 3364 4 150010 3
3145 3365 4 150020 3
3146 3366 4 150030 3
3147 3367 4 150040 3
3148 3369 3 101000050 1
3149 3370 3 101000060 1
3150 3371 3 101000080 1
3151 3372 3 103000060 1
3152 3373 3 103000070 1
3153 3374 3 103000080 1
3154 3375 3 101000040 1
3155 3376 3 109000060 1
3156 3377 3 109000070 1
3157 3378 3 109000080 1
3158 3379 3 110000050 1
3159 3380 4 101000090 1
3160 3381 4 102000090 1
3161 3382 4 103000100 1
3162 3383 4 101000100 1
3163 3384 4 101000110 1
3164 3385 4 109000100 1
3165 3386 5 101000120 1
3166 3387 5 103000120 1
3167 3388 5 109000110 1
3168 3389 1 101000000 2
3169 3390 2 101000001 2
3170 3391 3 101000002 2
3171 3392 4 101000008 2
3172 3393 5 101000004 2
3173 3394 1 112000000 2
3174 3395 2 112000001 2
3175 3396 3 112000002 2
3176 3397 4 112000003 2
3177 3398 5 112000004 2
3178 3399 3 170004 3
3179 3401 3 107000060 1
3180 3402 3 107000070 1
3181 3403 3 107000080 1
3182 3404 3 108000050 1
3183 3405 3 109000050 1
3184 3406 4 107000100 1
3185 3407 4 103000090 1
3186 3408 5 107000110 1
3187 3409 1 105000000 2
3188 3410 2 105000001 2
3189 3411 3 105000002 2
3190 3412 4 105000003 2
3191 3413 5 105000004 2
3192 3414 1 120000000 2
3193 3415 2 120000001 2
3194 3416 3 120000002 2
3195 3417 4 120000003 2
3196 3418 5 120000004 2
3197 3419 4 120024 3
3198 3420 4 120034 3
3199 3421 4 120044 3
3200 3422 4 120054 3
3201 3423 3 120240 3
3202 3424 3 120250 3
3203 3425 3 120260 3
3204 3426 3 120270 3
3205 3427 3 120300 3
3206 3428 3 120310 3
3207 3429 3 120320 3
3208 3430 3 120330 3
3209 3431 3 120340 3
3210 3432 3 120350 3
3211 3433 3 120360 3
3212 3434 3 120370 3
3213 3435 3 120380 3
3214 3436 3 120390 3
3215 3437 3 120400 3
3216 3438 3 120410 3
3217 3439 3 120420 3
3218 3440 3 120430 3
3219 3441 3 120450 3
3220 3442 3 120460 3
3221 3443 3 120550 3
3222 3444 3 120560 3
3223 3445 3 120570 3
3224 3446 3 120990 3
3225 3447 3 121000 3
3226 3448 3 121010 3
3227 3449 3 121020 3
3228 3450 4 140000 3
3229 3451 4 150010 3
3230 3452 4 150020 3
3231 3453 4 150030 3
3232 3454 4 150040 3
3233 3456 3 108000060 1
3234 3457 3 108000070 1
3235 3458 3 108000080 1
3236 3459 3 107000050 1
3237 3460 4 108000100 1
3238 3461 4 105000090 1
3239 3462 5 108000110 1
3240 3463 1 108000000 2
3241 3464 2 108000001 2
3242 3465 3 108000002 2
3243 3466 4 108000003 2
3244 3467 5 108000004 2
3245 3468 1 120000000 2
3246 3469 2 120000001 2
3247 3470 3 120000002 2
3248 3471 4 120000003 2
3249 3472 5 120000004 2
3250 3473 3 170004 3
3251 3475 3 102000060 1
3252 3476 3 102000070 1
3253 3477 3 102000080 1
3254 3478 3 103000050 1
3255 3479 3 105000050 1
3256 3480 4 102000100 1
3257 3481 4 102000110 1
3258 3482 4 106000090 1
3259 3483 4 109000090 1
3260 3484 5 102000120 1
3261 3485 1 102000000 2
3262 3486 2 102000001 2
3263 3487 3 102000002 2
3264 3488 4 102000003 2
3265 3489 5 102000004 2
3266 3490 1 112000000 2
3267 3491 2 112000001 2
3268 3492 3 112000002 2
3269 3493 4 112000003 2
3270 3494 5 112000004 2
3271 3495 3 180004 3
3272 3497 3 106000060 1
3273 3498 3 106000070 1
3274 3499 3 106000080 1
3275 3500 3 101000070 1
3276 3501 3 110000060 1
3277 3502 4 106000100 1
3278 3503 4 106000110 1
3279 3504 4 104000090 1
3280 3505 5 106000120 1
3281 3506 1 103000000 2
3282 3507 2 103000001 2
3283 3508 3 103000002 2
3284 3509 4 103000003 2
3285 3510 5 103000004 2
3286 3511 1 112000000 2
3287 3512 2 112000001 2
3288 3513 3 112000002 2
3289 3514 4 112000003 2
3290 3515 5 112000004 2
3291 3516 4 130024 3
3292 3517 4 130034 3
3293 3518 4 130044 3
3294 3519 4 130054 3
3295 3520 3 130060 3
3296 3521 3 130070 3
3297 3522 3 130080 3
3298 3523 3 130090 3
3299 3524 3 130100 3
3300 3525 3 130110 3
3301 3526 3 130120 3
3302 3527 3 130130 3
3303 3528 3 130140 3
3304 3529 3 130150 3
3305 3530 3 130160 3
3306 3531 3 130170 3
3307 3532 3 130180 3
3308 3533 3 130190 3
3309 3534 3 130200 3
3310 3535 3 130420 3
3311 3536 3 130510 3
3312 3537 3 130520 3
3313 3538 3 130530 3
3314 3539 3 130540 3
3315 3540 3 130660 3
3316 3541 4 140000 3
3317 3542 4 150010 3
3318 3543 4 150020 3
3319 3544 4 150030 3
3320 3545 4 150040 3
3321 3547 3 110000070 1
3322 3548 3 110000080 1
3323 3549 4 110000100 1
3324 3550 5 110000110 1
3325 3551 1 107000000 2
3326 3552 2 107000001 2
3327 3553 3 107000002 2
3328 3554 4 107000003 2
3329 3555 5 107000004 2
3330 3556 1 120000000 2
3331 3557 2 120000001 2
3332 3558 3 120000002 2
3333 3559 4 120000003 2
3334 3560 5 120000004 2
3335 3561 3 170004 3
3336 3563 3 105000060 1
3337 3564 3 105000070 1
3338 3565 3 105000080 1
3339 3566 3 104000050 1
3340 3567 3 106000050 1
3341 3568 4 105000100 1
3342 3569 4 105000110 1
3343 3570 4 108000090 1
3344 3571 4 110000090 1
3345 3572 5 105000120 1
3346 3573 1 109000000 2
3347 3574 2 109000001 2
3348 3575 3 109000002 2
3349 3576 4 109000003 2
3350 3577 5 109000004 2
3351 3578 1 112000000 2
3352 3579 2 112000001 2
3353 3580 3 112000002 2
3354 3581 4 112000003 2
3355 3582 5 112000004 2
3356 3583 4 120024 3
3357 3584 4 120034 3
3358 3585 4 120044 3
3359 3586 4 120054 3
3360 3587 3 120240 3
3361 3588 3 120250 3
3362 3589 3 120260 3
3363 3590 3 120270 3
3364 3591 3 120300 3
3365 3592 3 120310 3
3366 3593 3 120320 3
3367 3594 3 120330 3
3368 3595 3 120340 3
3369 3596 3 120350 3
3370 3597 3 120360 3
3371 3598 3 120370 3
3372 3599 3 120380 3
3373 3600 3 120390 3
3374 3601 3 120400 3
3375 3602 3 120410 3
3376 3603 3 120420 3
3377 3604 3 120430 3
3378 3605 3 120450 3
3379 3606 3 120460 3
3380 3607 3 120550 3
3381 3608 3 120560 3
3382 3609 3 120570 3
3383 3610 3 120990 3
3384 3611 3 121000 3
3385 3612 3 121010 3
3386 3613 3 121020 3
3387 3614 4 140000 3
3388 3615 4 150010 3
3389 3616 4 150020 3
3390 3617 4 150030 3
3391 3618 4 150040 3
3392 3620 1 170000 3
3393 3621 2 170001 3
3394 3622 3 170002 3
3395 3623 4 170003 3
3396 3624 5 170004 3
3397 3625 1 180000 3
3398 3626 2 180001 3
3399 3627 3 180002 3
3400 3628 4 180003 3
3401 3629 5 180004 3
3402 3630 4 140000 3
3403 3631 1 201000010 8
3404 3632 1 292000010 8
3405 3633 1 299000040 8
3406 3634 1 299000070 8
3407 3635 1 299000110 8
3408 3636 1 299000120 8
3409 3637 1 299000140 8
3410 3638 2 202000010 8
3411 3639 2 290000010 8
3412 3640 2 299000010 8
3413 3641 2 299000150 8
3414 3642 2 299000190 8
3415 3643 2 299000200 8
3416 3644 2 299000210 8
3417 3645 3 298000050 8
3418 3646 3 298000060 8
3419 3647 3 299000060 8
3420 3648 3 299000170 8
3421 3649 5 150010 3
3422 3650 5 150020 3
3423 3651 5 150030 3
3424 3652 5 150040 3
3425 3654 3 105000060 1
3426 3655 3 105000070 1
3427 3656 3 105000080 1
3428 3657 3 104000050 1
3429 3658 3 106000050 1
3430 3659 4 105000100 1
3431 3660 4 105000110 1
3432 3661 4 108000090 1
3433 3662 4 110000090 1
3434 3663 5 105000120 1
3435 3664 1 109000000 2
3436 3665 2 109000001 2
3437 3666 3 109000002 2
3438 3667 4 109000003 2
3439 3668 5 109000004 2
3440 3669 1 112000000 2
3441 3670 2 112000001 2
3442 3671 3 112000002 2
3443 3672 4 112000003 2
3444 3673 5 112000004 2
3445 3674 3 170004 3
3446 3676 3 108000060 1
3447 3677 3 108000070 1
3448 3678 3 108000080 1
3449 3679 3 107000050 1
3450 3680 4 108000100 1
3451 3681 4 105000090 1
3452 3682 5 108000110 1
3453 3683 1 108000000 2
3454 3684 2 108000001 2
3455 3685 3 108000002 2
3456 3686 4 108000003 2
3457 3687 5 108000004 2
3458 3688 1 120000000 2
3459 3689 2 120000001 2
3460 3690 3 120000002 2
3461 3691 4 120000003 2
3462 3692 5 120000004 2
3463 3693 3 180004 3
3464 3695 3 106000060 1
3465 3696 3 106000070 1
3466 3697 3 106000080 1
3467 3698 3 101000070 1
3468 3699 3 110000060 1
3469 3700 4 106000100 1
3470 3701 4 106000110 1
3471 3702 4 104000090 1
3472 3703 5 106000120 1
3473 3704 1 103000000 2
3474 3705 2 103000001 2
3475 3706 3 103000002 2
3476 3707 4 103000003 2
3477 3708 5 103000004 2
3478 3709 1 112000000 2
3479 3710 2 112000001 2
3480 3711 3 112000002 2
3481 3712 4 112000003 2
3482 3713 5 112000004 2
3483 3714 3 170004 3
3484 3716 3 104000170 1
3485 3717 1 115000000 2
3486 3718 2 115000001 2
3487 3719 3 115000002 2
3488 3720 4 115000003 2
3489 3721 5 115000004 2
3490 3722 1 120000000 2
3491 3723 2 120000001 2
3492 3724 3 120000002 2
3493 3725 4 120000003 2
3494 3726 5 120000004 2
3495 3727 4 120024 3
3496 3728 4 120034 3
3497 3729 4 120044 3
3498 3730 4 120054 3
3499 3731 3 120241 3
3500 3732 3 120251 3
3501 3733 3 120261 3
3502 3734 3 120271 3
3503 3735 3 120300 3
3504 3736 3 120310 3
3505 3737 3 120320 3
3506 3738 3 120330 3
3507 3739 3 120340 3
3508 3740 3 120350 3
3509 3741 3 120360 3
3510 3742 3 120370 3
3511 3743 3 120380 3
3512 3744 3 120390 3
3513 3745 3 120400 3
3514 3746 3 120410 3
3515 3747 3 120420 3
3516 3748 3 120430 3
3517 3749 3 120450 3
3518 3750 3 120460 3
3519 3751 3 120550 3
3520 3752 3 120560 3
3521 3753 3 120570 3
3522 3754 3 120990 3
3523 3755 3 121000 3
3524 3756 3 121010 3
3525 3757 3 121020 3
3526 3758 4 140000 3
3527 3759 4 150010 3
3528 3760 4 150020 3
3529 3761 4 150030 3
3530 3762 4 150040 3
3531 3764 3 102000060 1
3532 3765 3 102000070 1
3533 3766 3 102000080 1
3534 3767 3 103000050 1
3535 3768 3 105000050 1
3536 3769 4 102000100 1
3537 3770 4 102000110 1
3538 3771 4 106000090 1
3539 3772 4 109000090 1
3540 3773 5 102000120 1
3541 3774 1 102000000 2
3542 3775 2 102000001 2
3543 3776 3 102000002 2
3544 3777 4 102000003 2
3545 3778 5 102000004 2
3546 3779 1 112000000 2
3547 3780 2 112000001 2
3548 3781 3 112000002 2
3549 3782 4 112000003 2
3550 3783 5 112000004 2
3551 3784 4 110024 3
3552 3785 4 110034 3
3553 3786 4 110044 3
3554 3787 4 110054 3
3555 3788 3 110060 3
3556 3789 3 110070 3
3557 3790 3 110080 3
3558 3791 3 110090 3
3559 3792 3 110100 3
3560 3793 3 110110 3
3561 3794 3 110120 3
3562 3795 3 110130 3
3563 3796 3 110140 3
3564 3797 3 110150 3
3565 3798 3 110160 3
3566 3799 3 110170 3
3567 3800 3 110180 3
3568 3801 3 110190 3
3569 3802 3 110200 3
3570 3803 3 110210 3
3571 3804 3 110220 3
3572 3805 3 110230 3
3573 3806 3 110240 3
3574 3807 3 110250 3
3575 3808 3 110260 3
3576 3809 3 110270 3
3577 3810 3 110620 3
3578 3811 3 110670 3
3579 3812 4 140000 3
3580 3813 4 150010 3
3581 3814 4 150020 3
3582 3815 4 150030 3
3583 3816 4 150040 3
3584 3818 3 104000060 1
3585 3819 3 104000070 1
3586 3820 3 104000080 1
3587 3821 3 102000050 1
3588 3822 4 104000100 1
3589 3823 4 104000110 1
3590 3824 4 107000090 1
3591 3825 5 104000120 1
3592 3826 1 111000000 2
3593 3827 2 111000001 2
3594 3828 3 111000002 2
3595 3829 4 111000003 2
3596 3830 5 111000004 2
3597 3831 1 120000000 2
3598 3832 2 120000001 2
3599 3833 3 120000002 2
3600 3834 4 120000003 2
3601 3835 5 120000004 2
3602 3836 4 110024 3
3603 3837 4 110034 3
3604 3838 4 110044 3
3605 3839 4 110054 3
3606 3840 3 110060 3
3607 3841 3 110070 3
3608 3842 3 110080 3
3609 3843 3 110090 3
3610 3844 3 110100 3
3611 3845 3 110110 3
3612 3846 3 110120 3
3613 3847 3 110130 3
3614 3848 3 110140 3
3615 3849 3 110150 3
3616 3850 3 110160 3
3617 3851 3 110170 3
3618 3852 3 110180 3
3619 3853 3 110190 3
3620 3854 3 110200 3
3621 3855 3 110210 3
3622 3856 3 110220 3
3623 3857 3 110230 3
3624 3858 3 110240 3
3625 3859 3 110250 3
3626 3860 3 110260 3
3627 3861 3 110270 3
3628 3862 3 110620 3
3629 3863 3 110670 3
3630 3864 4 140000 3
3631 3865 4 150010 3
3632 3866 4 150020 3
3633 3867 4 150030 3
3634 3868 4 150040 3
3635 3870 3 110000070 1
3636 3871 3 110000080 1
3637 3872 4 110000100 1
3638 3873 5 110000110 1
3639 3874 1 107000000 2
3640 3875 2 107000001 2
3641 3876 3 107000002 2
3642 3877 4 107000003 2
3643 3878 5 107000004 2
3644 3879 1 120000000 2
3645 3880 2 120000001 2
3646 3881 3 120000002 2
3647 3882 4 120000003 2
3648 3883 5 120000004 2
3649 3884 4 130024 3
3650 3885 4 130034 3
3651 3886 4 130044 3
3652 3887 4 130054 3
3653 3888 3 130060 3
3654 3889 3 130070 3
3655 3890 3 130080 3
3656 3891 3 130090 3
3657 3892 3 130100 3
3658 3893 3 130110 3
3659 3894 3 130120 3
3660 3895 3 130130 3
3661 3896 3 130140 3
3662 3897 3 130150 3
3663 3898 3 130160 3
3664 3899 3 130170 3
3665 3900 3 130180 3
3666 3901 3 130190 3
3667 3902 3 130200 3
3668 3903 3 130420 3
3669 3904 3 130510 3
3670 3905 3 130520 3
3671 3906 3 130530 3
3672 3907 3 130540 3
3673 3908 3 130660 3
3674 3909 4 140000 3
3675 3910 4 150010 3
3676 3911 4 150020 3
3677 3912 4 150030 3
3678 3913 4 150040 3
3679 3915 3 101000050 1
3680 3916 3 101000060 1
3681 3917 3 101000080 1
3682 3918 3 103000060 1
3683 3919 3 103000070 1
3684 3920 3 103000080 1
3685 3921 3 101000040 1
3686 3922 3 109000060 1
3687 3923 3 109000070 1
3688 3924 3 109000080 1
3689 3925 3 110000050 1
3690 3926 4 101000090 1
3691 3927 4 102000090 1
3692 3928 4 103000100 1
3693 3929 4 101000100 1
3694 3930 4 101000110 1
3695 3931 4 109000100 1
3696 3932 5 101000120 1
3697 3933 5 101000160 1
3698 3934 5 103000120 1
3699 3935 5 109000110 1
3700 3936 1 101000000 2
3701 3937 2 101000001 2
3702 3938 3 101000002 2
3703 3939 4 101000008 2
3704 3940 5 101000004 2
3705 3941 1 120000000 2
3706 3942 2 120000001 2
3707 3943 3 120000002 2
3708 3944 4 120000003 2
3709 3945 5 120000004 2
3710 3946 3 170004 3
3711 3948 3 107000060 1
3712 3949 3 107000070 1
3713 3950 3 107000080 1
3714 3951 3 108000050 1
3715 3952 3 109000050 1
3716 3953 4 107000100 1
3717 3954 4 103000090 1
3718 3955 5 107000110 1
3719 3956 1 105000000 2
3720 3957 2 105000001 2
3721 3958 3 105000002 2
3722 3959 4 105000003 2
3723 3960 5 105000004 2
3724 3961 1 120000000 2
3725 3962 2 120000001 2
3726 3963 3 120000002 2
3727 3964 4 120000003 2
3728 3965 5 120000004 2
3729 3966 3 170004 3
3730 3968 3 104000170 1
3731 3969 1 115000000 2
3732 3970 2 115000001 2
3733 3971 3 115000002 2
3734 3972 4 115000003 2
3735 3973 5 115000004 2
3736 3974 1 120000000 2
3737 3975 2 120000001 2
3738 3976 3 120000002 2
3739 3977 4 120000003 2
3740 3978 5 120000004 2
3741 3979 4 120024 3
3742 3980 4 120034 3
3743 3981 4 120044 3
3744 3982 4 120054 3
3745 3983 3 120241 3
3746 3984 3 120251 3
3747 3985 3 120261 3
3748 3986 3 120271 3
3749 3987 3 120300 3
3750 3988 3 120310 3
3751 3989 3 120320 3
3752 3990 3 120330 3
3753 3991 3 120340 3
3754 3992 3 120350 3
3755 3993 3 120360 3
3756 3994 3 120370 3
3757 3995 3 120380 3
3758 3996 3 120390 3
3759 3997 3 120400 3
3760 3998 3 120410 3
3761 3999 3 120420 3
3762 4000 3 120430 3
3763 4001 3 120450 3
3764 4002 3 120460 3
3765 4003 3 120550 3
3766 4004 3 120560 3
3767 4005 3 120570 3
3768 4006 3 120990 3
3769 4007 3 121000 3
3770 4008 3 121010 3
3771 4009 3 121020 3
3772 4010 4 140000 3
3773 4011 4 150010 3
3774 4012 4 150020 3
3775 4013 4 150030 3
3776 4014 4 150040 3
3777 4016 1 101000000 2
3778 4017 2 101000001 2
3779 4018 3 101000002 2
3780 4019 4 101000008 2
3781 4020 5 101000012 2
3782 4021 1 120000000 2
3783 4022 2 120000001 2
3784 4023 3 120000002 2
3785 4024 4 120000003 2
3786 4025 5 120000004 2
3787 4027 1 101000000 2
3788 4028 2 101000001 2
3789 4029 3 101000002 2
3790 4030 4 101000008 2
3791 4031 5 101000011 2
3792 4032 1 120000000 2
3793 4033 2 120000001 2
3794 4034 3 120000002 2
3795 4035 4 120000003 2
3796 4036 5 120000004 2
3797 4038 3 101000050 1
3798 4039 3 101000060 1
3799 4040 3 101000080 1
3800 4041 3 103000060 1
3801 4042 3 103000070 1
3802 4043 3 103000080 1
3803 4044 3 101000040 1
3804 4045 3 109000060 1
3805 4046 3 109000070 1
3806 4047 3 109000080 1
3807 4048 3 110000050 1
3808 4049 4 101000090 1
3809 4050 4 102000090 1
3810 4051 4 103000100 1
3811 4052 4 101000100 1
3812 4053 4 101000110 1
3813 4054 4 109000100 1
3814 4055 5 101000120 1
3815 4056 5 101000160 1
3816 4057 5 103000120 1
3817 4058 5 109000110 1
3818 4059 1 101000000 2
3819 4060 2 101000001 2
3820 4061 3 101000002 2
3821 4062 4 101000008 2
3822 4063 5 101000004 2
3823 4064 1 120000000 2
3824 4065 2 120000001 2
3825 4066 3 120000002 2
3826 4067 4 120000003 2
3827 4068 5 120000004 2
3828 4069 4 120024 3
3829 4070 4 120034 3
3830 4071 4 120044 3
3831 4072 4 120054 3
3832 4073 3 120241 3
3833 4074 3 120251 3
3834 4075 3 120261 3
3835 4076 3 120271 3
3836 4077 3 120300 3
3837 4078 3 120310 3
3838 4079 3 120320 3
3839 4080 3 120330 3
3840 4081 3 120340 3
3841 4082 3 120350 3
3842 4083 3 120360 3
3843 4084 3 120370 3
3844 4085 3 120380 3
3845 4086 3 120390 3
3846 4087 3 120400 3
3847 4088 3 120410 3
3848 4089 3 120420 3
3849 4090 3 120430 3
3850 4091 3 120450 3
3851 4092 3 120460 3
3852 4093 3 120550 3
3853 4094 3 120560 3
3854 4095 3 120570 3
3855 4096 3 120990 3
3856 4097 3 121000 3
3857 4098 3 121010 3
3858 4099 3 121020 3
3859 4100 4 140000 3
3860 4101 4 150010 3
3861 4102 4 150020 3
3862 4103 4 150030 3
3863 4104 4 150040 3
3864 4106 3 108000060 1
3865 4107 3 108000070 1
3866 4108 3 108000080 1
3867 4109 3 107000050 1
3868 4110 4 108000100 1
3869 4111 4 105000090 1
3870 4112 5 108000110 1
3871 4113 1 108000000 2
3872 4114 2 108000001 2
3873 4115 3 108000002 2
3874 4116 4 108000003 2
3875 4117 5 108000004 2
3876 4118 1 120000000 2
3877 4119 2 120000001 2
3878 4120 3 120000002 2
3879 4121 4 120000003 2
3880 4122 5 120000004 2
3881 4123 3 170004 3
3882 4125 3 102000060 1
3883 4126 3 102000070 1
3884 4127 3 102000080 1
3885 4128 3 103000050 1
3886 4129 3 105000050 1
3887 4130 4 102000100 1
3888 4131 4 102000110 1
3889 4132 4 106000090 1
3890 4133 4 109000090 1
3891 4134 5 102000120 1
3892 4135 1 102000000 2
3893 4136 2 102000001 2
3894 4137 3 102000002 2
3895 4138 4 102000003 2
3896 4139 5 102000004 2
3897 4140 1 112000000 2
3898 4141 2 112000001 2
3899 4142 3 112000002 2
3900 4143 4 112000003 2
3901 4144 5 112000004 2
3902 4145 4 110024 3
3903 4146 4 110034 3
3904 4147 4 110044 3
3905 4148 4 110054 3
3906 4149 3 110060 3
3907 4150 3 110070 3
3908 4151 3 110080 3
3909 4152 3 110090 3
3910 4153 3 110100 3
3911 4154 3 110110 3
3912 4155 3 110120 3
3913 4156 3 110130 3
3914 4157 3 110140 3
3915 4158 3 110150 3
3916 4159 3 110160 3
3917 4160 3 110170 3
3918 4161 3 110180 3
3919 4162 3 110190 3
3920 4163 3 110200 3
3921 4164 3 110210 3
3922 4165 3 110220 3
3923 4166 3 110230 3
3924 4167 3 110240 3
3925 4168 3 110250 3
3926 4169 3 110260 3
3927 4170 3 110270 3
3928 4171 3 110620 3
3929 4172 3 110670 3
3930 4173 4 140000 3
3931 4174 4 150010 3
3932 4175 4 150020 3
3933 4176 4 150030 3
3934 4177 4 150040 3
3935 4179 3 104000170 1
3936 4180 4 104000180 1
3937 4181 5 104000190 1
3938 4182 1 115000000 2
3939 4183 2 115000001 2
3940 4184 3 115000002 2
3941 4185 4 115000003 2
3942 4186 5 115000004 2
3943 4187 1 120000000 2
3944 4188 2 120000001 2
3945 4189 3 120000002 2
3946 4190 4 120000003 2
3947 4191 5 120000004 2
3948 4192 4 120024 3
3949 4193 4 120034 3
3950 4194 4 120044 3
3951 4195 4 120054 3
3952 4196 3 120241 3
3953 4197 3 120251 3
3954 4198 3 120261 3
3955 4199 3 120271 3
3956 4200 3 120300 3
3957 4201 3 120310 3
3958 4202 3 120320 3
3959 4203 3 120330 3
3960 4204 3 120340 3
3961 4205 3 120350 3
3962 4206 3 120360 3
3963 4207 3 120370 3
3964 4208 3 120380 3
3965 4209 3 120390 3
3966 4210 3 120400 3
3967 4211 3 120410 3
3968 4212 3 120420 3
3969 4213 3 120430 3
3970 4214 3 120450 3
3971 4215 3 120460 3
3972 4216 3 120550 3
3973 4217 3 120560 3
3974 4218 3 120570 3
3975 4219 3 120990 3
3976 4220 3 121000 3
3977 4221 3 121010 3
3978 4222 3 121020 3
3979 4223 4 140000 3
3980 4224 4 150010 3
3981 4225 4 150020 3
3982 4226 4 150030 3
3983 4227 4 150040 3
3984 4229 3 110000070 1
3985 4230 3 110000080 1
3986 4231 4 110000100 1
3987 4232 5 110000110 1
3988 4233 1 107000000 2
3989 4234 2 107000001 2
3990 4235 3 107000002 2
3991 4236 4 107000003 2
3992 4237 5 107000004 2
3993 4238 1 120000000 2
3994 4239 2 120000001 2
3995 4240 3 120000002 2
3996 4241 4 120000003 2
3997 4242 5 120000004 2
3998 4243 4 120024 3
3999 4244 4 120034 3
4000 4245 4 120044 3
4001 4246 4 120054 3
4002 4247 3 120241 3
4003 4248 3 120251 3
4004 4249 3 120261 3
4005 4250 3 120271 3
4006 4251 3 120300 3
4007 4252 3 120310 3
4008 4253 3 120320 3
4009 4254 3 120330 3
4010 4255 3 120340 3
4011 4256 3 120350 3
4012 4257 3 120360 3
4013 4258 3 120370 3
4014 4259 3 120380 3
4015 4260 3 120390 3
4016 4261 3 120400 3
4017 4262 3 120410 3
4018 4263 3 120420 3
4019 4264 3 120430 3
4020 4265 3 120450 3
4021 4266 3 120460 3
4022 4267 3 120550 3
4023 4268 3 120560 3
4024 4269 3 120570 3
4025 4270 3 120990 3
4026 4271 3 121000 3
4027 4272 3 121010 3
4028 4273 3 121020 3
4029 4274 4 140000 3
4030 4275 4 150010 3
4031 4276 4 150020 3
4032 4277 4 150030 3
4033 4278 4 150040 3
4034 4280 3 106000060 1
4035 4281 3 106000070 1
4036 4282 3 106000080 1
4037 4283 3 101000070 1
4038 4284 3 110000060 1
4039 4285 4 106000100 1
4040 4286 4 106000110 1
4041 4287 4 104000090 1
4042 4288 5 106000120 1
4043 4289 1 103000000 2
4044 4290 2 103000001 2
4045 4291 3 103000002 2
4046 4292 4 103000003 2
4047 4293 5 103000004 2
4048 4294 1 112000000 2
4049 4295 2 112000001 2
4050 4296 3 112000002 2
4051 4297 4 112000003 2
4052 4298 5 112000004 2
4053 4299 3 170004 3
4054 4301 3 105000060 1
4055 4302 3 105000070 1
4056 4303 3 105000080 1
4057 4304 3 104000050 1
4058 4305 3 106000050 1
4059 4306 4 105000100 1
4060 4307 4 105000110 1
4061 4308 4 108000090 1
4062 4309 4 110000090 1
4063 4310 5 105000120 1
4064 4311 1 109000000 2
4065 4312 2 109000001 2
4066 4313 3 109000002 2
4067 4314 4 109000003 2
4068 4315 5 109000004 2
4069 4316 1 112000000 2
4070 4317 2 112000001 2
4071 4318 3 112000002 2
4072 4319 4 112000003 2
4073 4320 5 112000004 2
4074 4321 4 130024 3
4075 4322 4 130034 3
4076 4323 4 130044 3
4077 4324 4 130054 3
4078 4325 3 130060 3
4079 4326 3 130070 3
4080 4327 3 130080 3
4081 4328 3 130090 3
4082 4329 3 130100 3
4083 4330 3 130110 3
4084 4331 3 130120 3
4085 4332 3 130130 3
4086 4333 3 130140 3
4087 4334 3 130150 3
4088 4335 3 130160 3
4089 4336 3 130170 3
4090 4337 3 130180 3
4091 4338 3 130190 3
4092 4339 3 130200 3
4093 4340 3 130420 3
4094 4341 3 130510 3
4095 4342 3 130520 3
4096 4343 3 130530 3
4097 4344 3 130540 3
4098 4345 3 130660 3
4099 4346 4 140000 3
4100 4347 4 150010 3
4101 4348 4 150020 3
4102 4349 4 150030 3
4103 4350 4 150040 3
4104 4352 3 101000050 1
4105 4353 3 101000060 1
4106 4354 3 101000080 1
4107 4355 3 103000060 1
4108 4356 3 103000070 1
4109 4357 3 103000080 1
4110 4358 3 101000040 1
4111 4359 3 109000060 1
4112 4360 3 109000070 1
4113 4361 3 109000080 1
4114 4362 3 110000050 1
4115 4363 4 101000090 1
4116 4364 4 102000090 1
4117 4365 4 103000100 1
4118 4366 4 101000100 1
4119 4367 4 101000110 1
4120 4368 4 109000100 1
4121 4369 5 101000120 1
4122 4370 5 103000120 1
4123 4371 5 109000110 1
4124 4372 1 101000000 2
4125 4373 2 101000001 2
4126 4374 3 101000002 2
4127 4375 4 101000008 2
4128 4376 5 101000004 2
4129 4377 1 112000000 2
4130 4378 2 112000001 2
4131 4379 3 112000002 2
4132 4380 4 112000003 2
4133 4381 5 112000004 2
4134 4382 3 180004 3
4135 4384 3 104000060 1
4136 4385 3 104000070 1
4137 4386 3 104000080 1
4138 4387 3 102000050 1
4139 4388 4 104000100 1
4140 4389 4 104000110 1
4141 4390 4 107000090 1
4142 4391 5 104000120 1
4143 4392 1 111000000 2
4144 4393 2 111000001 2
4145 4394 3 111000002 2
4146 4395 4 111000003 2
4147 4396 5 111000004 2
4148 4397 1 120000000 2
4149 4398 2 120000001 2
4150 4399 3 120000002 2
4151 4400 4 120000003 2
4152 4401 5 120000004 2
4153 4402 4 110024 3
4154 4403 4 110034 3
4155 4404 4 110044 3
4156 4405 4 110054 3
4157 4406 3 110060 3
4158 4407 3 110070 3
4159 4408 3 110080 3
4160 4409 3 110090 3
4161 4410 3 110100 3
4162 4411 3 110110 3
4163 4412 3 110120 3
4164 4413 3 110130 3
4165 4414 3 110140 3
4166 4415 3 110150 3
4167 4416 3 110160 3
4168 4417 3 110170 3
4169 4418 3 110180 3
4170 4419 3 110190 3
4171 4420 3 110200 3
4172 4421 3 110210 3
4173 4422 3 110220 3
4174 4423 3 110230 3
4175 4424 3 110240 3
4176 4425 3 110250 3
4177 4426 3 110260 3
4178 4427 3 110270 3
4179 4428 3 110620 3
4180 4429 3 110670 3
4181 4430 4 140000 3
4182 4431 4 150010 3
4183 4432 4 150020 3
4184 4433 4 150030 3
4185 4434 4 150040 3
4186 4436 3 107000060 1
4187 4437 3 107000070 1
4188 4438 3 107000080 1
4189 4439 3 108000050 1
4190 4440 3 109000050 1
4191 4441 4 107000100 1
4192 4442 4 103000090 1
4193 4443 5 107000110 1
4194 4444 1 105000000 2
4195 4445 2 105000001 2
4196 4446 3 105000002 2
4197 4447 4 105000003 2
4198 4448 5 105000004 2
4199 4449 1 120000000 2
4200 4450 2 120000001 2
4201 4451 3 120000002 2
4202 4452 4 120000003 2
4203 4453 5 120000004 2
4204 4454 4 130024 3
4205 4455 4 130034 3
4206 4456 4 130044 3
4207 4457 4 130054 3
4208 4458 3 130060 3
4209 4459 3 130070 3
4210 4460 3 130080 3
4211 4461 3 130090 3
4212 4462 3 130100 3
4213 4463 3 130110 3
4214 4464 3 130120 3
4215 4465 3 130130 3
4216 4466 3 130140 3
4217 4467 3 130150 3
4218 4468 3 130160 3
4219 4469 3 130170 3
4220 4470 3 130180 3
4221 4471 3 130190 3
4222 4472 3 130200 3
4223 4473 3 130420 3
4224 4474 3 130510 3
4225 4475 3 130520 3
4226 4476 3 130530 3
4227 4477 3 130540 3
4228 4478 3 130660 3
4229 4479 4 140000 3
4230 4480 4 150010 3
4231 4481 4 150020 3
4232 4482 4 150030 3
4233 4483 4 150040 3
4234 4485 1 109000010 1
4235 4486 2 109000020 1
4236 4487 2 109000030 1
4237 4488 2 109000040 1
4238 4489 3 109000050 1
4239 4490 3 109000060 1
4240 4491 3 109000070 1
4241 4492 3 109000080 1
4242 4493 4 109000090 1
4243 4494 4 109000100 1
4244 4495 5 109000110 1
4245 4496 1 170000 3
4246 4497 2 170001 3
4247 4498 3 170002 3
4248 4499 4 170003 3
4249 4500 5 170004 3
4250 4501 1 180000 3
4251 4502 2 180001 3
4252 4503 3 180002 3
4253 4504 4 180003 3
4254 4505 5 180004 3
4255 4506 1 201000010 8
4256 4507 1 292000010 8
4257 4508 1 299000040 8
4258 4509 1 299000070 8
4259 4510 1 299000110 8
4260 4511 1 299000120 8
4261 4512 1 299000140 8
4262 4513 2 202000010 8
4263 4514 2 290000010 8
4264 4515 2 299000010 8
4265 4516 2 299000150 8
4266 4517 2 299000190 8
4267 4518 2 299000200 8
4268 4519 2 299000210 8
4269 4520 3 298000050 8
4270 4521 3 298000060 8
4271 4522 3 299000060 8
4272 4523 3 299000170 8
4273 4524 4 140000 3
4274 4525 5 150010 3
4275 4526 5 150020 3
4276 4527 5 150030 3
4277 4528 5 150040 3
4278 4530 1 109000010 1
4279 4531 2 109000020 1
4280 4532 2 109000030 1
4281 4533 2 109000040 1
4282 4534 3 109000050 1
4283 4535 3 109000060 1
4284 4536 3 109000070 1
4285 4537 3 109000080 1
4286 4538 4 109000090 1
4287 4539 4 109000100 1
4288 4540 5 109000110 1
4289 4541 1 170000 3
4290 4542 2 170001 3
4291 4543 3 170002 3
4292 4544 4 170003 3
4293 4545 5 170004 3
4294 4546 1 180000 3
4295 4547 2 180001 3
4296 4548 3 180002 3
4297 4549 4 180003 3
4298 4550 5 180004 3
4299 4551 1 201000010 8
4300 4552 1 292000010 8
4301 4553 1 299000040 8
4302 4554 1 299000070 8
4303 4555 1 299000110 8
4304 4556 1 299000120 8
4305 4557 1 299000140 8
4306 4558 2 202000010 8
4307 4559 2 290000010 8
4308 4560 2 299000010 8
4309 4561 2 299000150 8
4310 4562 2 299000190 8
4311 4563 2 299000200 8
4312 4564 2 299000210 8
4313 4565 3 298000050 8
4314 4566 3 298000060 8
4315 4567 3 299000060 8
4316 4568 3 299000170 8
4317 4569 4 140000 3
4318 4570 5 150010 3
4319 4571 5 150020 3
4320 4572 5 150030 3
4321 4573 5 150040 3
4322 4575 3 109000050 1
4323 4576 3 109000060 1
4324 4577 3 109000070 1
4325 4578 3 109000080 1
4326 4579 4 109000090 1
4327 4580 4 109000100 1
4328 4581 5 109000110 1
4329 4582 1 170000 3
4330 4583 2 170001 3
4331 4584 3 170002 3
4332 4585 4 170003 3
4333 4586 5 170004 3
4334 4587 1 180000 3
4335 4588 2 180001 3
4336 4589 3 180002 3
4337 4590 4 180003 3
4338 4591 5 180004 3
4339 4592 1 201000010 8
4340 4593 1 292000010 8
4341 4594 1 299000040 8
4342 4595 1 299000070 8
4343 4596 1 299000110 8
4344 4597 1 299000120 8
4345 4598 1 299000140 8
4346 4599 2 202000010 8
4347 4600 2 290000010 8
4348 4601 2 299000010 8
4349 4602 2 299000150 8
4350 4603 2 299000190 8
4351 4604 2 299000200 8
4352 4605 2 299000210 8
4353 4606 3 298000050 8
4354 4607 3 298000060 8
4355 4608 3 299000060 8
4356 4609 3 299000170 8
4357 4610 4 140000 3
4358 4611 5 150010 3
4359 4612 5 150020 3
4360 4613 5 150030 3
4361 4614 5 150040 3
4362 4616 3 109000050 1
4363 4617 3 109000060 1
4364 4618 3 109000070 1
4365 4619 3 109000080 1
4366 4620 4 109000090 1
4367 4621 4 109000100 1
4368 4622 5 109000110 1
4369 4623 1 170000 3
4370 4624 2 170001 3
4371 4625 3 170002 3
4372 4626 4 170003 3
4373 4627 5 170004 3
4374 4628 1 180000 3
4375 4629 2 180001 3
4376 4630 3 180002 3
4377 4631 4 180003 3
4378 4632 5 180004 3
4379 4633 1 201000010 8
4380 4634 1 292000010 8
4381 4635 1 299000040 8
4382 4636 1 299000070 8
4383 4637 1 299000110 8
4384 4638 1 299000120 8
4385 4639 1 299000140 8
4386 4640 2 202000010 8
4387 4641 2 290000010 8
4388 4642 2 299000010 8
4389 4643 2 299000150 8
4390 4644 2 299000190 8
4391 4645 2 299000200 8
4392 4646 2 299000210 8
4393 4647 3 298000050 8
4394 4648 3 298000060 8
4395 4649 3 299000060 8
4396 4650 3 299000170 8
4397 4651 4 140000 3
4398 4652 5 150010 3
4399 4653 5 150020 3
4400 4654 5 150030 3
4401 4655 5 150040 3
4402 4657 3 109000050 1
4403 4658 3 109000060 1
4404 4659 3 109000070 1
4405 4660 3 109000080 1
4406 4661 4 109000090 1
4407 4662 4 109000100 1
4408 4663 5 109000110 1
4409 4664 1 170000 3
4410 4665 2 170001 3
4411 4666 3 170002 3
4412 4667 4 170003 3
4413 4668 5 170004 3
4414 4669 1 180000 3
4415 4670 2 180001 3
4416 4671 3 180002 3
4417 4672 4 180003 3
4418 4673 5 180004 3
4419 4674 1 201000010 8
4420 4675 1 292000010 8
4421 4676 1 299000040 8
4422 4677 1 299000070 8
4423 4678 1 299000110 8
4424 4679 1 299000120 8
4425 4680 1 299000140 8
4426 4681 2 202000010 8
4427 4682 2 290000010 8
4428 4683 2 299000010 8
4429 4684 2 299000150 8
4430 4685 2 299000190 8
4431 4686 2 299000200 8
4432 4687 2 299000210 8
4433 4688 3 298000050 8
4434 4689 3 298000060 8
4435 4690 3 299000060 8
4436 4691 3 299000170 8
4437 4692 4 140000 3
4438 4693 5 150010 3
4439 4694 5 150020 3
4440 4695 5 150030 3
4441 4696 5 150040 3
4442 4697 5 190000 3
4443 4698 5 200000 3
4444 4699 5 210000 3
4445 4701 3 102000060 1
4446 4702 3 102000070 1
4447 4703 3 102000080 1
4448 4704 3 103000050 1
4449 4705 3 105000050 1
4450 4706 4 102000100 1
4451 4707 4 102000110 1
4452 4708 4 106000090 1
4453 4709 4 109000090 1
4454 4710 5 102000120 1
4455 4711 1 102000000 2
4456 4712 2 102000001 2
4457 4713 3 102000002 2
4458 4714 4 102000003 2
4459 4715 5 102000004 2
4460 4716 1 112000000 2
4461 4717 2 112000001 2
4462 4718 3 112000002 2
4463 4719 4 112000003 2
4464 4720 5 112000004 2
4465 4721 3 170004 3
4466 4722 4 170005 3
4467 4724 3 110000070 1
4468 4725 3 110000080 1
4469 4726 4 110000100 1
4470 4727 5 110000110 1
4471 4728 1 107000000 2
4472 4729 2 107000001 2
4473 4730 3 107000002 2
4474 4731 4 107000003 2
4475 4732 5 107000004 2
4476 4733 1 120000000 2
4477 4734 2 120000001 2
4478 4735 3 120000002 2
4479 4736 4 120000003 2
4480 4737 5 120000004 2
4481 4738 4 120024 3
4482 4739 4 120034 3
4483 4740 4 120044 3
4484 4741 4 120054 3
4485 4742 3 120241 3
4486 4743 3 120251 3
4487 4744 3 120261 3
4488 4745 3 120271 3
4489 4746 3 120300 3
4490 4747 3 120310 3
4491 4748 3 120320 3
4492 4749 3 120330 3
4493 4750 3 120340 3
4494 4751 3 120350 3
4495 4752 3 120360 3
4496 4753 3 120370 3
4497 4754 3 120380 3
4498 4755 3 120390 3
4499 4756 3 120400 3
4500 4757 3 120410 3
4501 4758 3 120420 3
4502 4759 3 120430 3
4503 4760 3 120450 3
4504 4761 3 120460 3
4505 4762 3 120550 3
4506 4763 3 120560 3
4507 4764 3 120570 3
4508 4765 3 120990 3
4509 4766 3 121000 3
4510 4767 3 121010 3
4511 4768 3 121020 3
4512 4769 4 140000 3
4513 4770 4 150010 3
4514 4771 4 150020 3
4515 4772 4 150030 3
4516 4773 4 150040 3
4517 4775 3 105000060 1
4518 4776 3 105000070 1
4519 4777 3 105000080 1
4520 4778 3 104000050 1
4521 4779 3 106000050 1
4522 4780 4 105000100 1
4523 4781 4 105000110 1
4524 4782 4 108000090 1
4525 4783 4 110000090 1
4526 4784 5 105000120 1
4527 4785 1 109000000 2
4528 4786 2 109000001 2
4529 4787 3 109000002 2
4530 4788 4 109000003 2
4531 4789 5 109000004 2
4532 4790 1 112000000 2
4533 4791 2 112000001 2
4534 4792 3 112000002 2
4535 4793 4 112000003 2
4536 4794 5 112000004 2
4537 4795 4 130024 3
4538 4796 4 130034 3
4539 4797 4 130044 3
4540 4798 4 130054 3
4541 4799 3 130060 3
4542 4800 3 130070 3
4543 4801 3 130080 3
4544 4802 3 130090 3
4545 4803 3 130100 3
4546 4804 3 130110 3
4547 4805 3 130120 3
4548 4806 3 130130 3
4549 4807 3 130140 3
4550 4808 3 130150 3
4551 4809 3 130160 3
4552 4810 3 130170 3
4553 4811 3 130180 3
4554 4812 3 130190 3
4555 4813 3 130200 3
4556 4814 3 130420 3
4557 4815 3 130510 3
4558 4816 3 130520 3
4559 4817 3 130530 3
4560 4818 3 130540 3
4561 4819 3 130660 3
4562 4820 4 140000 3
4563 4821 4 150010 3
4564 4822 4 150020 3
4565 4823 4 150030 3
4566 4824 4 150040 3
4567 4826 3 104000060 1
4568 4827 3 104000070 1
4569 4828 3 104000080 1
4570 4829 3 102000050 1
4571 4830 4 104000100 1
4572 4831 4 104000110 1
4573 4832 4 107000090 1
4574 4833 5 104000120 1
4575 4834 1 111000000 2
4576 4835 2 111000001 2
4577 4836 3 111000002 2
4578 4837 4 111000003 2
4579 4838 5 111000004 2
4580 4839 1 120000000 2
4581 4840 2 120000001 2
4582 4841 3 120000002 2
4583 4842 4 120000003 2
4584 4843 5 120000004 2
4585 4844 4 110024 3
4586 4845 4 110034 3
4587 4846 4 110044 3
4588 4847 4 110054 3
4589 4848 3 110060 3
4590 4849 3 110070 3
4591 4850 3 110080 3
4592 4851 3 110090 3
4593 4852 3 110100 3
4594 4853 3 110110 3
4595 4854 3 110120 3
4596 4855 3 110130 3
4597 4856 3 110140 3
4598 4857 3 110150 3
4599 4858 3 110160 3
4600 4859 3 110170 3
4601 4860 3 110180 3
4602 4861 3 110190 3
4603 4862 3 110200 3
4604 4863 3 110210 3
4605 4864 3 110220 3
4606 4865 3 110230 3
4607 4866 3 110240 3
4608 4867 3 110250 3
4609 4868 3 110260 3
4610 4869 3 110270 3
4611 4870 3 110620 3
4612 4871 3 110670 3
4613 4872 4 140000 3
4614 4873 4 150010 3
4615 4874 4 150020 3
4616 4875 4 150030 3
4617 4876 4 150040 3
4618 4878 3 107000060 1
4619 4879 3 107000070 1
4620 4880 3 107000080 1
4621 4881 3 108000050 1
4622 4882 3 109000050 1
4623 4883 4 107000100 1
4624 4884 4 103000090 1
4625 4885 5 107000110 1
4626 4886 1 105000000 2
4627 4887 2 105000001 2
4628 4888 3 105000002 2
4629 4889 4 105000003 2
4630 4890 5 105000004 2
4631 4891 1 120000000 2
4632 4892 2 120000001 2
4633 4893 3 120000002 2
4634 4894 4 120000003 2
4635 4895 5 120000004 2
4636 4896 3 180004 3
4637 4897 4 180005 3
4638 4899 3 106000060 1
4639 4900 3 106000070 1
4640 4901 3 106000080 1
4641 4902 3 101000070 1
4642 4903 3 110000060 1
4643 4904 4 106000100 1
4644 4905 4 106000110 1
4645 4906 4 104000090 1
4646 4907 5 106000120 1
4647 4908 1 103000000 2
4648 4909 2 103000001 2
4649 4910 3 103000002 2
4650 4911 4 103000003 2
4651 4912 5 103000004 2
4652 4913 1 112000000 2
4653 4914 2 112000001 2
4654 4915 3 112000002 2
4655 4916 4 112000003 2
4656 4917 5 112000004 2
4657 4918 3 170004 3
4658 4919 4 170005 3
4659 4921 3 112000020 1
4660 4922 3 112000030 1
4661 4923 4 112000040 1
4662 4924 5 112000060 1
4663 4925 1 101000000 2
4664 4926 2 101000001 2
4665 4927 3 101000002 2
4666 4928 4 101000008 2
4667 4929 5 101000004 2
4668 4930 1 112000000 2
4669 4931 2 112000001 2
4670 4932 3 112000002 2
4671 4933 4 112000003 2
4672 4934 5 112000004 2
4673 4935 3 170004 3
4674 4936 4 170005 3
4675 4938 3 104000170 1
4676 4939 4 104000180 1
4677 4940 5 104000190 1
4678 4941 1 115000000 2
4679 4942 2 115000001 2
4680 4943 3 115000002 2
4681 4944 4 115000003 2
4682 4945 5 115000004 2
4683 4946 1 120000000 2
4684 4947 2 120000001 2
4685 4948 3 120000002 2
4686 4949 4 120000003 2
4687 4950 5 120000004 2
4688 4951 4 120024 3
4689 4952 4 120034 3
4690 4953 4 120044 3
4691 4954 4 120054 3
4692 4955 3 120241 3
4693 4956 3 120251 3
4694 4957 3 120261 3
4695 4958 3 120271 3
4696 4959 3 120300 3
4697 4960 3 120310 3
4698 4961 3 120320 3
4699 4962 3 120330 3
4700 4963 3 120340 3
4701 4964 3 120350 3
4702 4965 3 120360 3
4703 4966 3 120370 3
4704 4967 3 120380 3
4705 4968 3 120390 3
4706 4969 3 120400 3
4707 4970 3 120410 3
4708 4971 3 120420 3
4709 4972 3 120430 3
4710 4973 3 120450 3
4711 4974 3 120460 3
4712 4975 3 120550 3
4713 4976 3 120560 3
4714 4977 3 120570 3
4715 4978 3 120990 3
4716 4979 3 121000 3
4717 4980 3 121010 3
4718 4981 3 121020 3
4719 4982 4 140000 3
4720 4983 4 150010 3
4721 4984 4 150020 3
4722 4985 4 150030 3
4723 4986 4 150040 3
4724 4988 3 111000010 1
4725 4989 3 111000020 1
4726 4990 3 111000030 1
4727 4991 4 111000040 1
4728 4992 5 111000060 1
4729 4993 1 101000000 2
4730 4994 2 101000001 2
4731 4995 3 101000002 2
4732 4996 4 101000008 2
4733 4997 5 101000004 2
4734 4998 1 120000000 2
4735 4999 2 120000001 2
4736 5000 3 120000002 2
4737 5001 4 120000003 2
4738 5002 5 120000004 2
4739 5003 4 110024 3
4740 5004 4 110034 3
4741 5005 4 110044 3
4742 5006 4 110054 3
4743 5007 3 110060 3
4744 5008 3 110070 3
4745 5009 3 110080 3
4746 5010 3 110090 3
4747 5011 3 110100 3
4748 5012 3 110110 3
4749 5013 3 110120 3
4750 5014 3 110130 3
4751 5015 3 110140 3
4752 5016 3 110150 3
4753 5017 3 110160 3
4754 5018 3 110170 3
4755 5019 3 110180 3
4756 5020 3 110190 3
4757 5021 3 110200 3
4758 5022 3 110210 3
4759 5023 3 110220 3
4760 5024 3 110230 3
4761 5025 3 110240 3
4762 5026 3 110250 3
4763 5027 3 110260 3
4764 5028 3 110270 3
4765 5029 3 110620 3
4766 5030 3 110670 3
4767 5031 4 140000 3
4768 5032 4 150010 3
4769 5033 4 150020 3
4770 5034 4 150030 3
4771 5035 4 150040 3
4772 5037 3 108000060 1
4773 5038 3 108000070 1
4774 5039 3 108000080 1
4775 5040 3 107000050 1
4776 5041 3 112000010 1
4777 5042 4 108000100 1
4778 5043 4 105000090 1
4779 5044 5 108000110 1
4780 5045 1 108000000 2
4781 5046 2 108000001 2
4782 5047 3 108000002 2
4783 5048 4 108000003 2
4784 5049 5 108000004 2
4785 5050 1 120000000 2
4786 5051 2 120000001 2
4787 5052 3 120000002 2
4788 5053 4 120000003 2
4789 5054 5 120000004 2
4790 5055 4 130024 3
4791 5056 4 130034 3
4792 5057 4 130044 3
4793 5058 4 130054 3
4794 5059 3 130060 3
4795 5060 3 130070 3
4796 5061 3 130080 3
4797 5062 3 130090 3
4798 5063 3 130100 3
4799 5064 3 130110 3
4800 5065 3 130120 3
4801 5066 3 130130 3
4802 5067 3 130140 3
4803 5068 3 130150 3
4804 5069 3 130160 3
4805 5070 3 130170 3
4806 5071 3 130180 3
4807 5072 3 130190 3
4808 5073 3 130200 3
4809 5074 3 130420 3
4810 5075 3 130510 3
4811 5076 3 130520 3
4812 5077 3 130530 3
4813 5078 3 130540 3
4814 5079 3 130660 3
4815 5080 4 140000 3
4816 5081 4 150010 3
4817 5082 4 150020 3
4818 5083 4 150030 3
4819 5084 4 150040 3
4820 5086 3 111000010 1
4821 5087 3 111000020 1
4822 5088 3 111000030 1
4823 5089 4 111000040 1
4824 5090 5 111000060 1
4825 5091 1 170002 3
4826 5092 2 170003 3
4827 5093 3 170004 3
4828 5094 1 180002 3
4829 5095 2 180003 3
4830 5096 3 180004 3
4831 5097 1 201000010 8
4832 5098 1 292000010 8
4833 5099 1 299000040 8
4834 5100 1 299000070 8
4835 5101 1 299000110 8
4836 5102 1 299000120 8
4837 5103 1 299000140 8
4838 5104 2 202000010 8
4839 5105 2 290000010 8
4840 5106 2 299000010 8
4841 5107 2 299000150 8
4842 5108 2 299000190 8
4843 5109 2 299000200 8
4844 5110 2 299000210 8
4845 5111 3 298000050 8
4846 5112 3 298000060 8
4847 5113 3 299000060 8
4848 5114 3 299000170 8
4849 5115 4 140000 3
4850 5116 5 150010 3
4851 5117 5 150020 3
4852 5118 5 150030 3
4853 5119 5 150040 3
4854 5121 3 111000010 1
4855 5122 3 111000020 1
4856 5123 3 111000030 1
4857 5124 4 111000040 1
4858 5125 5 111000060 1
4859 5126 2 170003 3
4860 5127 3 170004 3
4861 5128 2 180003 3
4862 5129 3 180004 3
4863 5130 1 201000010 8
4864 5131 1 292000010 8
4865 5132 1 299000040 8
4866 5133 1 299000070 8
4867 5134 1 299000110 8
4868 5135 1 299000120 8
4869 5136 1 299000140 8
4870 5137 2 202000010 8
4871 5138 2 290000010 8
4872 5139 2 299000010 8
4873 5140 2 299000150 8
4874 5141 2 299000190 8
4875 5142 2 299000200 8
4876 5143 2 299000210 8
4877 5144 3 298000050 8
4878 5145 3 298000060 8
4879 5146 3 299000060 8
4880 5147 3 299000170 8
4881 5148 4 140000 3
4882 5149 5 150010 3
4883 5150 5 150020 3
4884 5151 5 150030 3
4885 5152 5 150040 3
4886 5154 3 111000010 1
4887 5155 3 111000020 1
4888 5156 3 111000030 1
4889 5157 4 111000040 1
4890 5158 5 111000060 1
4891 5159 3 170004 3
4892 5160 3 180004 3
4893 5161 1 201000010 8
4894 5162 1 292000010 8
4895 5163 1 299000040 8
4896 5164 1 299000070 8
4897 5165 1 299000110 8
4898 5166 1 299000120 8
4899 5167 1 299000140 8
4900 5168 2 202000010 8
4901 5169 2 290000010 8
4902 5170 2 299000010 8
4903 5171 2 299000150 8
4904 5172 2 299000190 8
4905 5173 2 299000200 8
4906 5174 2 299000210 8
4907 5175 3 298000050 8
4908 5176 3 298000060 8
4909 5177 3 299000060 8
4910 5178 3 299000170 8
4911 5179 4 140000 3
4912 5180 5 150010 3
4913 5181 5 150020 3
4914 5182 5 150030 3
4915 5183 5 150040 3
4916 5185 3 111000010 1
4917 5186 3 111000020 1
4918 5187 3 111000030 1
4919 5188 4 111000040 1
4920 5189 5 111000060 1
4921 5190 3 170004 3
4922 5191 3 180004 3
4923 5192 1 201000010 8
4924 5193 1 292000010 8
4925 5194 1 299000040 8
4926 5195 1 299000070 8
4927 5196 1 299000110 8
4928 5197 1 299000120 8
4929 5198 1 299000140 8
4930 5199 2 202000010 8
4931 5200 2 290000010 8
4932 5201 2 299000010 8
4933 5202 2 299000150 8
4934 5203 2 299000190 8
4935 5204 2 299000200 8
4936 5205 2 299000210 8
4937 5206 3 298000050 8
4938 5207 3 298000060 8
4939 5208 3 299000060 8
4940 5209 3 299000170 8
4941 5210 4 140000 3
4942 5211 5 150010 3
4943 5212 5 150020 3
4944 5213 5 150030 3
4945 5214 5 150040 3
4946 5216 3 111000010 1
4947 5217 3 111000020 1
4948 5218 3 111000030 1
4949 5219 4 111000040 1
4950 5220 5 111000060 1
4951 5221 3 170004 3
4952 5222 3 180004 3
4953 5223 1 201000010 8
4954 5224 1 292000010 8
4955 5225 1 299000040 8
4956 5226 1 299000070 8
4957 5227 1 299000110 8
4958 5228 1 299000120 8
4959 5229 1 299000140 8
4960 5230 2 202000010 8
4961 5231 2 290000010 8
4962 5232 2 299000010 8
4963 5233 2 299000150 8
4964 5234 2 299000190 8
4965 5235 2 299000200 8
4966 5236 2 299000210 8
4967 5237 3 298000050 8
4968 5238 3 298000060 8
4969 5239 3 299000060 8
4970 5240 3 299000170 8
4971 5241 4 140000 3
4972 5242 5 150010 3
4973 5243 5 150020 3
4974 5244 5 150030 3
4975 5245 5 150040 3
4976 5246 5 190000 3
4977 5247 5 200000 3
4978 5248 5 210000 3
4979 5250 3 101000050 1
4980 5251 3 101000060 1
4981 5252 3 101000080 1
4982 5253 3 101000040 1
4983 5254 3 109000060 1
4984 5255 3 109000070 1
4985 5256 3 109000080 1
4986 5257 3 105000060 1
4987 5258 3 105000070 1
4988 5259 3 105000080 1
4989 5260 3 104000050 1
4990 5261 3 106000050 1
4991 5262 4 101000090 1
4992 5263 4 101000100 1
4993 5264 4 101000110 1
4994 5265 4 109000100 1
4995 5266 4 105000100 1
4996 5267 4 105000110 1
4997 5268 4 108000090 1
4998 5269 4 110000090 1
4999 5270 5 101000120 1
5000 5271 5 109000110 1
5001 5272 5 105000120 1
5002 5273 1 101000000 2
5003 5274 2 101000001 2
5004 5275 3 101000002 2
5005 5276 4 101000008 2
5006 5277 5 101000004 2
5007 5278 1 109000000 2
5008 5279 2 109000001 2
5009 5280 3 109000002 2
5010 5281 4 109000003 2
5011 5282 5 109000004 2
5012 5283 3 170004 3
5013 5284 4 170005 3
5014 5285 3 180004 3
5015 5286 4 180005 3
5016 5287 4 140000 3
5017 5288 4 150010 3
5018 5289 4 150020 3
5019 5290 4 150030 3
5020 5291 4 150040 3
5021 5293 3 102000060 1
5022 5294 3 102000070 1
5023 5295 3 102000080 1
5024 5296 3 103000050 1
5025 5297 3 105000050 1
5026 5298 3 107000060 1
5027 5299 3 107000070 1
5028 5300 3 107000080 1
5029 5301 3 108000050 1
5030 5302 3 109000050 1
5031 5303 3 103000060 1
5032 5304 3 103000070 1
5033 5305 3 103000080 1
5034 5306 3 110000050 1
5035 5307 4 102000100 1
5036 5308 4 102000110 1
5037 5309 4 106000090 1
5038 5310 4 109000090 1
5039 5311 4 107000100 1
5040 5312 4 103000090 1
5041 5313 4 102000090 1
5042 5314 4 103000100 1
5043 5315 5 102000120 1
5044 5316 5 107000110 1
5045 5317 5 103000120 1
5046 5318 1 102000000 2
5047 5319 2 102000001 2
5048 5320 3 102000002 2
5049 5321 4 102000003 2
5050 5322 5 102000004 2
5051 5323 1 105000000 2
5052 5324 2 105000001 2
5053 5325 3 105000002 2
5054 5326 4 105000003 2
5055 5327 5 105000004 2
5056 5328 1 112000000 2
5057 5329 2 112000001 2
5058 5330 3 112000002 2
5059 5331 4 112000003 2
5060 5332 5 112000004 2
5061 5333 4 110024 3
5062 5334 4 110034 3
5063 5335 4 110044 3
5064 5336 4 110054 3
5065 5337 3 110060 3
5066 5338 3 110070 3
5067 5339 3 110080 3
5068 5340 3 110090 3
5069 5341 3 110100 3
5070 5342 3 110110 3
5071 5343 3 110120 3
5072 5344 3 110130 3
5073 5345 3 110140 3
5074 5346 3 110150 3
5075 5347 3 110160 3
5076 5348 3 110170 3
5077 5349 3 110180 3
5078 5350 3 110190 3
5079 5351 3 110200 3
5080 5352 3 110210 3
5081 5353 3 110220 3
5082 5354 3 110230 3
5083 5355 3 110240 3
5084 5356 3 110250 3
5085 5357 3 110260 3
5086 5358 3 110270 3
5087 5359 3 110620 3
5088 5360 3 110670 3
5089 5361 4 140000 3
5090 5362 4 150010 3
5091 5363 4 150020 3
5092 5364 4 150030 3
5093 5365 4 150040 3
5094 5367 3 106000060 1
5095 5368 3 106000070 1
5096 5369 3 106000080 1
5097 5370 3 101000070 1
5098 5371 3 110000060 1
5099 5372 3 104000060 1
5100 5373 3 104000070 1
5101 5374 3 104000080 1
5102 5375 3 102000050 1
5103 5376 3 104000170 1
5104 5377 3 104000260 1
5105 5378 4 106000100 1
5106 5379 4 106000110 1
5107 5380 4 104000090 1
5108 5381 4 104000100 1
5109 5382 4 104000110 1
5110 5383 4 107000090 1
5111 5384 4 104000180 1
5112 5385 4 104000270 1
5113 5386 5 106000120 1
5114 5387 5 104000120 1
5115 5388 5 104000190 1
5116 5389 1 103000000 2
5117 5390 2 103000001 2
5118 5391 3 103000002 2
5119 5392 4 103000003 2
5120 5393 5 103000004 2
5121 5394 1 111000000 2
5122 5395 2 111000001 2
5123 5396 3 111000002 2
5124 5397 4 111000003 2
5125 5398 5 111000004 2
5126 5399 1 115000000 2
5127 5400 2 115000001 2
5128 5401 3 115000002 2
5129 5402 4 115000003 2
5130 5403 5 115000004 2
5131 5404 4 120024 3
5132 5405 4 120034 3
5133 5406 4 120044 3
5134 5407 4 120054 3
5135 5408 3 120241 3
5136 5409 3 120251 3
5137 5410 3 120261 3
5138 5411 3 120271 3
5139 5412 3 120300 3
5140 5413 3 120310 3
5141 5414 3 120320 3
5142 5415 3 120330 3
5143 5416 3 120340 3
5144 5417 3 120350 3
5145 5418 3 120360 3
5146 5419 3 120370 3
5147 5420 3 120380 3
5148 5421 3 120390 3
5149 5422 3 120400 3
5150 5423 3 120410 3
5151 5424 3 120420 3
5152 5425 3 120430 3
5153 5426 3 120450 3
5154 5427 3 120460 3
5155 5428 3 120550 3
5156 5429 3 120560 3
5157 5430 3 120570 3
5158 5431 3 120990 3
5159 5432 3 121000 3
5160 5433 3 121010 3
5161 5434 3 121020 3
5162 5435 4 140000 3
5163 5436 4 150010 3
5164 5437 4 150020 3
5165 5438 4 150030 3
5166 5439 4 150040 3
5167 5441 3 111000010 1
5168 5442 3 111000020 1
5169 5443 3 111000030 1
5170 5444 3 112000020 1
5171 5445 3 112000030 1
5172 5446 3 108000060 1
5173 5447 3 108000070 1
5174 5448 3 108000080 1
5175 5449 3 107000050 1
5176 5450 3 112000010 1
5177 5451 3 110000070 1
5178 5452 3 110000080 1
5179 5453 4 111000040 1
5180 5454 4 112000040 1
5181 5455 4 108000100 1
5182 5456 4 105000090 1
5183 5457 4 110000100 1
5184 5458 5 111000060 1
5185 5459 5 112000060 1
5186 5460 5 108000110 1
5187 5461 5 110000110 1
5188 5462 1 108000000 2
5189 5463 2 108000001 2
5190 5464 3 108000002 2
5191 5465 4 108000003 2
5192 5466 5 108000004 2
5193 5467 1 107000000 2
5194 5468 2 107000001 2
5195 5469 3 107000002 2
5196 5470 4 107000003 2
5197 5471 5 107000004 2
5198 5472 1 120000000 2
5199 5473 2 120000001 2
5200 5474 3 120000002 2
5201 5475 4 120000003 2
5202 5476 5 120000004 2
5203 5477 4 130024 3
5204 5478 4 130034 3
5205 5479 4 130044 3
5206 5480 4 130054 3
5207 5481 3 130060 3
5208 5482 3 130070 3
5209 5483 3 130080 3
5210 5484 3 130090 3
5211 5485 3 130100 3
5212 5486 3 130110 3
5213 5487 3 130120 3
5214 5488 3 130130 3
5215 5489 3 130140 3
5216 5490 3 130150 3
5217 5491 3 130160 3
5218 5492 3 130170 3
5219 5493 3 130180 3
5220 5494 3 130190 3
5221 5495 3 130200 3
5222 5496 3 130420 3
5223 5497 3 130510 3
5224 5498 3 130520 3
5225 5499 3 130530 3
5226 5500 3 130540 3
5227 5501 3 130660 3
5228 5502 4 140000 3
5229 5503 4 150010 3
5230 5504 4 150020 3
5231 5505 4 150030 3
5232 5506 4 150040 3
5233 5508 1 101000000 2
5234 5509 2 101000001 2
5235 5510 3 101000002 2
5236 5511 4 101000008 2
5237 5512 5 101000004 2
5238 5513 1 120000000 2
5239 5514 2 120000001 2
5240 5515 3 120000002 2
5241 5516 4 120000003 2
5242 5517 5 120000004 2
5243 5519 1 101000010 1
5244 5520 1 102000010 1
5245 5521 1 103000010 1
5246 5522 1 104000010 1
5247 5523 1 105000010 1
5248 5524 1 106000010 1
5249 5525 1 107000010 1
5250 5526 1 108000010 1
5251 5527 1 109000010 1
5252 5528 1 110000010 1
5253 5529 2 101000020 1
5254 5530 2 101000030 1
5255 5531 2 102000020 1
5256 5532 2 102000030 1
5257 5533 2 102000040 1
5258 5534 2 103000020 1
5259 5535 2 103000030 1
5260 5536 2 103000040 1
5261 5537 2 104000020 1
5262 5538 2 104000030 1
5263 5539 2 104000040 1
5264 5540 2 105000020 1
5265 5541 2 105000030 1
5266 5542 2 105000040 1
5267 5543 2 106000020 1
5268 5544 2 106000030 1
5269 5545 2 106000040 1
5270 5546 2 107000020 1
5271 5547 2 107000030 1
5272 5548 2 107000040 1
5273 5549 2 108000020 1
5274 5550 2 108000030 1
5275 5551 2 108000040 1
5276 5552 2 109000020 1
5277 5553 2 109000030 1
5278 5554 2 109000040 1
5279 5555 2 110000020 1
5280 5556 2 110000030 1
5281 5557 2 110000040 1
5282 5558 3 101000050 1
5283 5559 3 101000060 1
5284 5560 3 101000080 1
5285 5561 3 101000040 1
5286 5562 3 109000060 1
5287 5563 3 109000070 1
5288 5564 3 109000080 1
5289 5565 3 105000060 1
5290 5566 3 105000070 1
5291 5567 3 105000080 1
5292 5568 3 104000050 1
5293 5569 3 106000050 1
5294 5570 3 102000060 1
5295 5571 3 102000070 1
5296 5572 3 102000080 1
5297 5573 3 103000050 1
5298 5574 3 105000050 1
5299 5575 3 107000060 1
5300 5576 3 107000070 1
5301 5577 3 107000080 1
5302 5578 3 108000050 1
5303 5579 3 109000050 1
5304 5580 3 103000060 1
5305 5581 3 103000070 1
5306 5582 3 103000080 1
5307 5583 3 110000050 1
5308 5584 3 106000060 1
5309 5585 3 106000070 1
5310 5586 3 106000080 1
5311 5587 3 101000070 1
5312 5588 3 110000060 1
5313 5589 3 104000060 1
5314 5590 3 104000070 1
5315 5591 3 104000080 1
5316 5592 3 102000050 1
5317 5593 3 104000170 1
5318 5594 3 104000260 1
5319 5595 3 111000010 1
5320 5596 3 111000020 1
5321 5597 3 111000030 1
5322 5598 3 112000020 1
5323 5599 3 112000030 1
5324 5600 3 108000060 1
5325 5601 3 108000070 1
5326 5602 3 108000080 1
5327 5603 3 107000050 1
5328 5604 3 112000010 1
5329 5605 3 110000070 1
5330 5606 3 110000080 1
5331 5607 4 101000090 1
5332 5608 4 101000100 1
5333 5609 4 101000110 1
5334 5610 4 109000100 1
5335 5611 4 105000100 1
5336 5612 4 105000110 1
5337 5613 4 108000090 1
5338 5614 4 110000090 1
5339 5615 4 102000100 1
5340 5616 4 102000110 1
5341 5617 4 106000090 1
5342 5618 4 109000090 1
5343 5619 4 107000100 1
5344 5620 4 103000090 1
5345 5621 4 102000090 1
5346 5622 4 103000100 1
5347 5623 4 106000100 1
5348 5624 4 106000110 1
5349 5625 4 104000090 1
5350 5626 4 104000100 1
5351 5627 4 104000110 1
5352 5628 4 107000090 1
5353 5629 4 104000180 1
5354 5630 4 111000040 1
5355 5631 4 112000040 1
5356 5632 4 108000100 1
5357 5633 4 105000090 1
5358 5634 4 110000100 1
5359 5635 5 101000120 1
5360 5636 5 109000110 1
5361 5637 5 105000120 1
5362 5638 5 102000120 1
5363 5639 5 107000110 1
5364 5640 5 103000120 1
5365 5641 5 106000120 1
5366 5642 5 104000120 1
5367 5643 5 104000190 1
5368 5644 5 111000060 1
5369 5645 5 112000060 1
5370 5646 5 108000110 1
5371 5647 5 110000110 1
5372 5648 1 170002 3
5373 5649 2 170003 3
5374 5650 3 170004 3
5375 5651 1 180002 3
5376 5652 2 180003 3
5377 5653 3 180004 3
5378 5654 1 201000010 8
5379 5655 1 292000010 8
5380 5656 1 299000040 8
5381 5657 1 299000070 8
5382 5658 1 299000110 8
5383 5659 1 299000120 8
5384 5660 1 299000140 8
5385 5661 2 202000010 8
5386 5662 2 290000010 8
5387 5663 2 299000010 8
5388 5664 2 299000150 8
5389 5665 2 299000190 8
5390 5666 2 299000200 8
5391 5667 2 299000210 8
5392 5668 3 298000050 8
5393 5669 3 298000060 8
5394 5670 3 299000060 8
5395 5671 3 299000170 8
5396 5672 5 297000100 8
5397 5673 5 291000020 8
5398 5674 4 140000 3
5399 5675 5 150010 3
5400 5676 5 150020 3
5401 5677 5 150030 3
5402 5678 5 150040 3
5403 5680 1 101000010 1
5404 5681 1 102000010 1
5405 5682 1 103000010 1
5406 5683 1 104000010 1
5407 5684 1 105000010 1
5408 5685 1 106000010 1
5409 5686 1 107000010 1
5410 5687 1 108000010 1
5411 5688 1 109000010 1
5412 5689 1 110000010 1
5413 5690 2 101000020 1
5414 5691 2 101000030 1
5415 5692 2 102000020 1
5416 5693 2 102000030 1
5417 5694 2 102000040 1
5418 5695 2 103000020 1
5419 5696 2 103000030 1
5420 5697 2 103000040 1
5421 5698 2 104000020 1
5422 5699 2 104000030 1
5423 5700 2 104000040 1
5424 5701 2 105000020 1
5425 5702 2 105000030 1
5426 5703 2 105000040 1
5427 5704 2 106000020 1
5428 5705 2 106000030 1
5429 5706 2 106000040 1
5430 5707 2 107000020 1
5431 5708 2 107000030 1
5432 5709 2 107000040 1
5433 5710 2 108000020 1
5434 5711 2 108000030 1
5435 5712 2 108000040 1
5436 5713 2 109000020 1
5437 5714 2 109000030 1
5438 5715 2 109000040 1
5439 5716 2 110000020 1
5440 5717 2 110000030 1
5441 5718 2 110000040 1
5442 5719 3 101000050 1
5443 5720 3 101000060 1
5444 5721 3 101000080 1
5445 5722 3 101000040 1
5446 5723 3 109000060 1
5447 5724 3 109000070 1
5448 5725 3 109000080 1
5449 5726 3 105000060 1
5450 5727 3 105000070 1
5451 5728 3 105000080 1
5452 5729 3 104000050 1
5453 5730 3 106000050 1
5454 5731 3 102000060 1
5455 5732 3 102000070 1
5456 5733 3 102000080 1
5457 5734 3 103000050 1
5458 5735 3 105000050 1
5459 5736 3 107000060 1
5460 5737 3 107000070 1
5461 5738 3 107000080 1
5462 5739 3 108000050 1
5463 5740 3 109000050 1
5464 5741 3 103000060 1
5465 5742 3 103000070 1
5466 5743 3 103000080 1
5467 5744 3 110000050 1
5468 5745 3 106000060 1
5469 5746 3 106000070 1
5470 5747 3 106000080 1
5471 5748 3 101000070 1
5472 5749 3 110000060 1
5473 5750 3 104000060 1
5474 5751 3 104000070 1
5475 5752 3 104000080 1
5476 5753 3 102000050 1
5477 5754 3 104000170 1
5478 5755 3 104000260 1
5479 5756 3 111000010 1
5480 5757 3 111000020 1
5481 5758 3 111000030 1
5482 5759 3 112000020 1
5483 5760 3 112000030 1
5484 5761 3 108000060 1
5485 5762 3 108000070 1
5486 5763 3 108000080 1
5487 5764 3 107000050 1
5488 5765 3 112000010 1
5489 5766 3 110000070 1
5490 5767 3 110000080 1
5491 5768 4 101000090 1
5492 5769 4 101000100 1
5493 5770 4 101000110 1
5494 5771 4 109000100 1
5495 5772 4 105000100 1
5496 5773 4 105000110 1
5497 5774 4 108000090 1
5498 5775 4 110000090 1
5499 5776 4 102000100 1
5500 5777 4 102000110 1
5501 5778 4 106000090 1
5502 5779 4 109000090 1
5503 5780 4 107000100 1
5504 5781 4 103000090 1
5505 5782 4 102000090 1
5506 5783 4 103000100 1
5507 5784 4 106000100 1
5508 5785 4 106000110 1
5509 5786 4 104000090 1
5510 5787 4 104000100 1
5511 5788 4 104000110 1
5512 5789 4 107000090 1
5513 5790 4 104000180 1
5514 5791 4 111000040 1
5515 5792 4 112000040 1
5516 5793 4 108000100 1
5517 5794 4 105000090 1
5518 5795 4 110000100 1
5519 5796 5 101000120 1
5520 5797 5 109000110 1
5521 5798 5 105000120 1
5522 5799 5 102000120 1
5523 5800 5 107000110 1
5524 5801 5 103000120 1
5525 5802 5 106000120 1
5526 5803 5 104000120 1
5527 5804 5 104000190 1
5528 5805 5 111000060 1
5529 5806 5 112000060 1
5530 5807 5 108000110 1
5531 5808 5 110000110 1
5532 5809 2 170003 3
5533 5810 3 170004 3
5534 5811 2 180003 3
5535 5812 3 180004 3
5536 5813 1 201000010 8
5537 5814 1 292000010 8
5538 5815 1 299000040 8
5539 5816 1 299000070 8
5540 5817 1 299000110 8
5541 5818 1 299000120 8
5542 5819 1 299000140 8
5543 5820 2 202000010 8
5544 5821 2 290000010 8
5545 5822 2 299000010 8
5546 5823 2 299000150 8
5547 5824 2 299000190 8
5548 5825 2 299000200 8
5549 5826 2 299000210 8
5550 5827 3 298000050 8
5551 5828 3 298000060 8
5552 5829 3 299000060 8
5553 5830 3 299000170 8
5554 5831 5 297000100 8
5555 5832 5 291000020 8
5556 5833 4 140000 3
5557 5834 5 150010 3
5558 5835 5 150020 3
5559 5836 5 150030 3
5560 5837 5 150040 3
5561 5839 3 101000050 1
5562 5840 3 101000060 1
5563 5841 3 101000080 1
5564 5842 3 101000040 1
5565 5843 3 109000060 1
5566 5844 3 109000070 1
5567 5845 3 109000080 1
5568 5846 3 105000060 1
5569 5847 3 105000070 1
5570 5848 3 105000080 1
5571 5849 3 104000050 1
5572 5850 3 106000050 1
5573 5851 3 102000060 1
5574 5852 3 102000070 1
5575 5853 3 102000080 1
5576 5854 3 103000050 1
5577 5855 3 105000050 1
5578 5856 3 107000060 1
5579 5857 3 107000070 1
5580 5858 3 107000080 1
5581 5859 3 108000050 1
5582 5860 3 109000050 1
5583 5861 3 103000060 1
5584 5862 3 103000070 1
5585 5863 3 103000080 1
5586 5864 3 110000050 1
5587 5865 3 106000060 1
5588 5866 3 106000070 1
5589 5867 3 106000080 1
5590 5868 3 101000070 1
5591 5869 3 110000060 1
5592 5870 3 104000060 1
5593 5871 3 104000070 1
5594 5872 3 104000080 1
5595 5873 3 102000050 1
5596 5874 3 104000170 1
5597 5875 3 104000260 1
5598 5876 3 111000010 1
5599 5877 3 111000020 1
5600 5878 3 111000030 1
5601 5879 3 112000020 1
5602 5880 3 112000030 1
5603 5881 3 108000060 1
5604 5882 3 108000070 1
5605 5883 3 108000080 1
5606 5884 3 107000050 1
5607 5885 3 112000010 1
5608 5886 3 110000070 1
5609 5887 3 110000080 1
5610 5888 4 101000090 1
5611 5889 4 101000100 1
5612 5890 4 101000110 1
5613 5891 4 109000100 1
5614 5892 4 105000100 1
5615 5893 4 105000110 1
5616 5894 4 108000090 1
5617 5895 4 110000090 1
5618 5896 4 102000100 1
5619 5897 4 102000110 1
5620 5898 4 106000090 1
5621 5899 4 109000090 1
5622 5900 4 107000100 1
5623 5901 4 103000090 1
5624 5902 4 102000090 1
5625 5903 4 103000100 1
5626 5904 4 106000100 1
5627 5905 4 106000110 1
5628 5906 4 104000090 1
5629 5907 4 104000100 1
5630 5908 4 104000110 1
5631 5909 4 107000090 1
5632 5910 4 104000180 1
5633 5911 4 111000040 1
5634 5912 4 112000040 1
5635 5913 4 108000100 1
5636 5914 4 105000090 1
5637 5915 4 110000100 1
5638 5916 5 101000120 1
5639 5917 5 109000110 1
5640 5918 5 105000120 1
5641 5919 5 102000120 1
5642 5920 5 107000110 1
5643 5921 5 103000120 1
5644 5922 5 106000120 1
5645 5923 5 104000120 1
5646 5924 5 104000190 1
5647 5925 5 111000060 1
5648 5926 5 112000060 1
5649 5927 5 108000110 1
5650 5928 5 110000110 1
5651 5929 3 170004 3
5652 5930 3 180004 3
5653 5931 1 201000010 8
5654 5932 1 292000010 8
5655 5933 1 299000040 8
5656 5934 1 299000070 8
5657 5935 1 299000110 8
5658 5936 1 299000120 8
5659 5937 1 299000140 8
5660 5938 2 202000010 8
5661 5939 2 290000010 8
5662 5940 2 299000010 8
5663 5941 2 299000150 8
5664 5942 2 299000190 8
5665 5943 2 299000200 8
5666 5944 2 299000210 8
5667 5945 3 298000050 8
5668 5946 3 298000060 8
5669 5947 3 299000060 8
5670 5948 3 299000170 8
5671 5949 5 297000100 8
5672 5950 5 291000020 8
5673 5951 4 140000 3
5674 5952 5 150010 3
5675 5953 5 150020 3
5676 5954 5 150030 3
5677 5955 5 150040 3
5678 5957 3 101000050 1
5679 5958 3 101000060 1
5680 5959 3 101000080 1
5681 5960 3 101000040 1
5682 5961 3 109000060 1
5683 5962 3 109000070 1
5684 5963 3 109000080 1
5685 5964 3 105000060 1
5686 5965 3 105000070 1
5687 5966 3 105000080 1
5688 5967 3 104000050 1
5689 5968 3 106000050 1
5690 5969 3 102000060 1
5691 5970 3 102000070 1
5692 5971 3 102000080 1
5693 5972 3 103000050 1
5694 5973 3 105000050 1
5695 5974 3 107000060 1
5696 5975 3 107000070 1
5697 5976 3 107000080 1
5698 5977 3 108000050 1
5699 5978 3 109000050 1
5700 5979 3 103000060 1
5701 5980 3 103000070 1
5702 5981 3 103000080 1
5703 5982 3 110000050 1
5704 5983 3 106000060 1
5705 5984 3 106000070 1
5706 5985 3 106000080 1
5707 5986 3 101000070 1
5708 5987 3 110000060 1
5709 5988 3 104000060 1
5710 5989 3 104000070 1
5711 5990 3 104000080 1
5712 5991 3 102000050 1
5713 5992 3 104000170 1
5714 5993 3 104000260 1
5715 5994 3 111000010 1
5716 5995 3 111000020 1
5717 5996 3 111000030 1
5718 5997 3 112000020 1
5719 5998 3 112000030 1
5720 5999 3 108000060 1
5721 6000 3 108000070 1
5722 6001 3 108000080 1
5723 6002 3 107000050 1
5724 6003 3 112000010 1
5725 6004 3 110000070 1
5726 6005 3 110000080 1
5727 6006 4 101000090 1
5728 6007 4 101000100 1
5729 6008 4 101000110 1
5730 6009 4 109000100 1
5731 6010 4 105000100 1
5732 6011 4 105000110 1
5733 6012 4 108000090 1
5734 6013 4 110000090 1
5735 6014 4 102000100 1
5736 6015 4 102000110 1
5737 6016 4 106000090 1
5738 6017 4 109000090 1
5739 6018 4 107000100 1
5740 6019 4 103000090 1
5741 6020 4 102000090 1
5742 6021 4 103000100 1
5743 6022 4 106000100 1
5744 6023 4 106000110 1
5745 6024 4 104000090 1
5746 6025 4 104000100 1
5747 6026 4 104000110 1
5748 6027 4 107000090 1
5749 6028 4 104000180 1
5750 6029 4 111000040 1
5751 6030 4 112000040 1
5752 6031 4 108000100 1
5753 6032 4 105000090 1
5754 6033 4 110000100 1
5755 6034 5 101000120 1
5756 6035 5 109000110 1
5757 6036 5 105000120 1
5758 6037 5 102000120 1
5759 6038 5 107000110 1
5760 6039 5 103000120 1
5761 6040 5 106000120 1
5762 6041 5 104000120 1
5763 6042 5 104000190 1
5764 6043 5 111000060 1
5765 6044 5 112000060 1
5766 6045 5 108000110 1
5767 6046 5 110000110 1
5768 6047 3 170004 3
5769 6048 3 180004 3
5770 6049 1 201000010 8
5771 6050 1 292000010 8
5772 6051 1 299000040 8
5773 6052 1 299000070 8
5774 6053 1 299000110 8
5775 6054 1 299000120 8
5776 6055 1 299000140 8
5777 6056 2 202000010 8
5778 6057 2 290000010 8
5779 6058 2 299000010 8
5780 6059 2 299000150 8
5781 6060 2 299000190 8
5782 6061 2 299000200 8
5783 6062 2 299000210 8
5784 6063 3 298000050 8
5785 6064 3 298000060 8
5786 6065 3 299000060 8
5787 6066 3 299000170 8
5788 6067 5 297000100 8
5789 6068 5 291000020 8
5790 6069 4 140000 3
5791 6070 5 150010 3
5792 6071 5 150020 3
5793 6072 5 150030 3
5794 6073 5 150040 3
5795 6075 3 101000050 1
5796 6076 3 101000060 1
5797 6077 3 101000080 1
5798 6078 3 101000040 1
5799 6079 3 109000060 1
5800 6080 3 109000070 1
5801 6081 3 109000080 1
5802 6082 3 105000060 1
5803 6083 3 105000070 1
5804 6084 3 105000080 1
5805 6085 3 104000050 1
5806 6086 3 106000050 1
5807 6087 3 102000060 1
5808 6088 3 102000070 1
5809 6089 3 102000080 1
5810 6090 3 103000050 1
5811 6091 3 105000050 1
5812 6092 3 107000060 1
5813 6093 3 107000070 1
5814 6094 3 107000080 1
5815 6095 3 108000050 1
5816 6096 3 109000050 1
5817 6097 3 103000060 1
5818 6098 3 103000070 1
5819 6099 3 103000080 1
5820 6100 3 110000050 1
5821 6101 3 106000060 1
5822 6102 3 106000070 1
5823 6103 3 106000080 1
5824 6104 3 101000070 1
5825 6105 3 110000060 1
5826 6106 3 104000060 1
5827 6107 3 104000070 1
5828 6108 3 104000080 1
5829 6109 3 102000050 1
5830 6110 3 104000170 1
5831 6111 3 104000260 1
5832 6112 3 111000010 1
5833 6113 3 111000020 1
5834 6114 3 111000030 1
5835 6115 3 112000020 1
5836 6116 3 112000030 1
5837 6117 3 108000060 1
5838 6118 3 108000070 1
5839 6119 3 108000080 1
5840 6120 3 107000050 1
5841 6121 3 112000010 1
5842 6122 3 110000070 1
5843 6123 3 110000080 1
5844 6124 4 101000090 1
5845 6125 4 101000100 1
5846 6126 4 101000110 1
5847 6127 4 109000100 1
5848 6128 4 105000100 1
5849 6129 4 105000110 1
5850 6130 4 108000090 1
5851 6131 4 110000090 1
5852 6132 4 102000100 1
5853 6133 4 102000110 1
5854 6134 4 106000090 1
5855 6135 4 109000090 1
5856 6136 4 107000100 1
5857 6137 4 103000090 1
5858 6138 4 102000090 1
5859 6139 4 103000100 1
5860 6140 4 106000100 1
5861 6141 4 106000110 1
5862 6142 4 104000090 1
5863 6143 4 104000100 1
5864 6144 4 104000110 1
5865 6145 4 107000090 1
5866 6146 4 104000180 1
5867 6147 4 111000040 1
5868 6148 4 112000040 1
5869 6149 4 108000100 1
5870 6150 4 105000090 1
5871 6151 4 110000100 1
5872 6152 5 101000120 1
5873 6153 5 109000110 1
5874 6154 5 105000120 1
5875 6155 5 102000120 1
5876 6156 5 107000110 1
5877 6157 5 103000120 1
5878 6158 5 106000120 1
5879 6159 5 104000120 1
5880 6160 5 104000190 1
5881 6161 5 111000060 1
5882 6162 5 112000060 1
5883 6163 5 108000110 1
5884 6164 5 110000110 1
5885 6165 3 170004 3
5886 6166 3 180004 3
5887 6167 1 201000010 8
5888 6168 1 292000010 8
5889 6169 1 299000040 8
5890 6170 1 299000070 8
5891 6171 1 299000110 8
5892 6172 1 299000120 8
5893 6173 1 299000140 8
5894 6174 2 202000010 8
5895 6175 2 290000010 8
5896 6176 2 299000010 8
5897 6177 2 299000150 8
5898 6178 2 299000190 8
5899 6179 2 299000200 8
5900 6180 2 299000210 8
5901 6181 3 298000050 8
5902 6182 3 298000060 8
5903 6183 3 299000060 8
5904 6184 3 299000170 8
5905 6185 5 297000100 8
5906 6186 5 291000020 8
5907 6187 4 140000 3
5908 6188 5 150010 3
5909 6189 5 150020 3
5910 6190 5 150030 3
5911 6191 5 150040 3
5912 6192 5 190000 3
5913 6193 5 200000 3
5914 6194 5 210000 3
5915 6196 3 111000010 1
5916 6197 3 111000020 1
5917 6198 3 111000030 1
5918 6199 3 112000020 1
5919 6200 3 112000030 1
5920 6201 3 108000060 1
5921 6202 3 108000070 1
5922 6203 3 108000080 1
5923 6204 3 107000050 1
5924 6205 3 112000010 1
5925 6206 3 110000070 1
5926 6207 3 110000080 1
5927 6208 4 111000040 1
5928 6209 4 112000040 1
5929 6210 4 108000100 1
5930 6211 4 105000090 1
5931 6212 4 110000100 1
5932 6213 5 111000060 1
5933 6214 5 112000060 1
5934 6215 5 108000110 1
5935 6216 5 110000110 1
5936 6217 1 108000000 2
5937 6218 2 108000001 2
5938 6219 3 108000002 2
5939 6220 4 108000003 2
5940 6221 5 108000004 2
5941 6222 1 107000000 2
5942 6223 2 107000001 2
5943 6224 3 107000002 2
5944 6225 4 107000003 2
5945 6226 5 107000004 2
5946 6227 1 120000000 2
5947 6228 2 120000001 2
5948 6229 3 120000002 2
5949 6230 4 120000003 2
5950 6231 5 120000004 2
5951 6232 3 170004 3
5952 6233 4 170005 3
5953 6234 3 180004 3
5954 6235 4 180005 3
5955 6236 4 140000 3
5956 6237 4 150010 3
5957 6238 4 150020 3
5958 6239 4 150030 3
5959 6240 4 150040 3
5960 6242 3 101000050 1
5961 6243 3 101000060 1
5962 6244 3 101000080 1
5963 6245 3 101000040 1
5964 6246 3 109000060 1
5965 6247 3 109000070 1
5966 6248 3 109000080 1
5967 6249 3 105000060 1
5968 6250 3 105000070 1
5969 6251 3 105000080 1
5970 6252 3 104000050 1
5971 6253 3 106000050 1
5972 6254 4 101000090 1
5973 6255 4 101000100 1
5974 6256 4 101000110 1
5975 6257 4 109000100 1
5976 6258 4 105000100 1
5977 6259 4 105000110 1
5978 6260 4 108000090 1
5979 6261 4 110000090 1
5980 6262 5 101000120 1
5981 6263 5 109000110 1
5982 6264 5 105000120 1
5983 6265 1 101000000 2
5984 6266 2 101000001 2
5985 6267 3 101000002 2
5986 6268 4 101000008 2
5987 6269 5 101000004 2
5988 6270 1 109000000 2
5989 6271 2 109000001 2
5990 6272 3 109000002 2
5991 6273 4 109000003 2
5992 6274 5 109000004 2
5993 6275 4 110024 3
5994 6276 4 110034 3
5995 6277 4 110044 3
5996 6278 4 110054 3
5997 6279 3 110060 3
5998 6280 3 110070 3
5999 6281 3 110080 3
6000 6282 3 110090 3
6001 6283 3 110100 3
6002 6284 3 110110 3
6003 6285 3 110120 3
6004 6286 3 110130 3
6005 6287 3 110140 3
6006 6288 3 110150 3
6007 6289 3 110160 3
6008 6290 3 110170 3
6009 6291 3 110180 3
6010 6292 3 110190 3
6011 6293 3 110200 3
6012 6294 3 110210 3
6013 6295 3 110220 3
6014 6296 3 110230 3
6015 6297 3 110240 3
6016 6298 3 110250 3
6017 6299 3 110260 3
6018 6300 3 110270 3
6019 6301 3 110620 3
6020 6302 3 110670 3
6021 6303 4 140000 3
6022 6304 4 150010 3
6023 6305 4 150020 3
6024 6306 4 150030 3
6025 6307 4 150040 3
6026 6309 3 102000060 1
6027 6310 3 102000070 1
6028 6311 3 102000080 1
6029 6312 3 103000050 1
6030 6313 3 105000050 1
6031 6314 3 107000060 1
6032 6315 3 107000070 1
6033 6316 3 107000080 1
6034 6317 3 108000050 1
6035 6318 3 109000050 1
6036 6319 3 103000060 1
6037 6320 3 103000070 1
6038 6321 3 103000080 1
6039 6322 3 110000050 1
6040 6323 4 102000100 1
6041 6324 4 102000110 1
6042 6325 4 106000090 1
6043 6326 4 109000090 1
6044 6327 4 107000100 1
6045 6328 4 103000090 1
6046 6329 4 102000090 1
6047 6330 4 103000100 1
6048 6331 5 102000120 1
6049 6332 5 107000110 1
6050 6333 5 103000120 1
6051 6334 1 102000000 2
6052 6335 2 102000001 2
6053 6336 3 102000002 2
6054 6337 4 102000003 2
6055 6338 5 102000004 2
6056 6339 1 105000000 2
6057 6340 2 105000001 2
6058 6341 3 105000002 2
6059 6342 4 105000003 2
6060 6343 5 105000004 2
6061 6344 1 112000000 2
6062 6345 2 112000001 2
6063 6346 3 112000002 2
6064 6347 4 112000003 2
6065 6348 5 112000004 2
6066 6349 4 120024 3
6067 6350 4 120034 3
6068 6351 4 120044 3
6069 6352 4 120054 3
6070 6353 3 120241 3
6071 6354 3 120251 3
6072 6355 3 120261 3
6073 6356 3 120271 3
6074 6357 3 120300 3
6075 6358 3 120310 3
6076 6359 3 120320 3
6077 6360 3 120330 3
6078 6361 3 120340 3
6079 6362 3 120350 3
6080 6363 3 120360 3
6081 6364 3 120370 3
6082 6365 3 120380 3
6083 6366 3 120390 3
6084 6367 3 120400 3
6085 6368 3 120410 3
6086 6369 3 120420 3
6087 6370 3 120430 3
6088 6371 3 120450 3
6089 6372 3 120460 3
6090 6373 3 120550 3
6091 6374 3 120560 3
6092 6375 3 120570 3
6093 6376 3 120990 3
6094 6377 3 121000 3
6095 6378 3 121010 3
6096 6379 3 121020 3
6097 6380 4 140000 3
6098 6381 4 150010 3
6099 6382 4 150020 3
6100 6383 4 150030 3
6101 6384 4 150040 3
6102 6386 3 106000060 1
6103 6387 3 106000070 1
6104 6388 3 106000080 1
6105 6389 3 101000070 1
6106 6390 3 110000060 1
6107 6391 3 104000060 1
6108 6392 3 104000070 1
6109 6393 3 104000080 1
6110 6394 3 102000050 1
6111 6395 3 104000170 1
6112 6396 3 104000260 1
6113 6397 4 106000100 1
6114 6398 4 106000110 1
6115 6399 4 104000090 1
6116 6400 4 104000100 1
6117 6401 4 104000110 1
6118 6402 4 107000090 1
6119 6403 4 104000180 1
6120 6404 5 106000120 1
6121 6405 5 104000120 1
6122 6406 5 104000190 1
6123 6407 1 103000000 2
6124 6408 2 103000001 2
6125 6409 3 103000002 2
6126 6410 4 103000003 2
6127 6411 5 103000004 2
6128 6412 1 111000000 2
6129 6413 2 111000001 2
6130 6414 3 111000002 2
6131 6415 4 111000003 2
6132 6416 5 111000004 2
6133 6417 1 115000000 2
6134 6418 2 115000001 2
6135 6419 3 115000002 2
6136 6420 4 115000003 2
6137 6421 5 115000004 2
6138 6422 4 130024 3
6139 6423 4 130034 3
6140 6424 4 130044 3
6141 6425 4 130054 3
6142 6426 3 130060 3
6143 6427 3 130070 3
6144 6428 3 130080 3
6145 6429 3 130090 3
6146 6430 3 130100 3
6147 6431 3 130110 3
6148 6432 3 130120 3
6149 6433 3 130130 3
6150 6434 3 130140 3
6151 6435 3 130150 3
6152 6436 3 130160 3
6153 6437 3 130170 3
6154 6438 3 130180 3
6155 6439 3 130190 3
6156 6440 3 130200 3
6157 6441 3 130420 3
6158 6442 3 130510 3
6159 6443 3 130520 3
6160 6444 3 130530 3
6161 6445 3 130540 3
6162 6446 3 130660 3
6163 6447 3 130790 3
6164 6448 3 130800 3
6165 6449 4 140000 3
6166 6450 4 150010 3
6167 6451 4 150020 3
6168 6452 4 150030 3
6169 6453 4 150040 3
6170 6455 1 101000010 1
6171 6456 1 102000010 1
6172 6457 1 103000010 1
6173 6458 1 104000010 1
6174 6459 1 105000010 1
6175 6460 1 106000010 1
6176 6461 1 107000010 1
6177 6462 1 108000010 1
6178 6463 1 109000010 1
6179 6464 1 110000010 1
6180 6465 2 101000020 1
6181 6466 2 101000030 1
6182 6467 2 102000020 1
6183 6468 2 102000030 1
6184 6469 2 102000040 1
6185 6470 2 103000020 1
6186 6471 2 103000030 1
6187 6472 2 103000040 1
6188 6473 2 104000020 1
6189 6474 2 104000030 1
6190 6475 2 104000040 1
6191 6476 2 105000020 1
6192 6477 2 105000030 1
6193 6478 2 105000040 1
6194 6479 2 106000020 1
6195 6480 2 106000030 1
6196 6481 2 106000040 1
6197 6482 2 107000020 1
6198 6483 2 107000030 1
6199 6484 2 107000040 1
6200 6485 2 108000020 1
6201 6486 2 108000030 1
6202 6487 2 108000040 1
6203 6488 2 109000020 1
6204 6489 2 109000030 1
6205 6490 2 109000040 1
6206 6491 2 110000020 1
6207 6492 2 110000030 1
6208 6493 2 110000040 1
6209 6494 2 118000010 1
6210 6495 3 101000050 1
6211 6496 3 101000060 1
6212 6497 3 101000080 1
6213 6498 3 101000040 1
6214 6499 3 109000060 1
6215 6500 3 109000070 1
6216 6501 3 109000080 1
6217 6502 3 105000060 1
6218 6503 3 105000070 1
6219 6504 3 105000080 1
6220 6505 3 104000050 1
6221 6506 3 106000050 1
6222 6507 3 102000060 1
6223 6508 3 102000070 1
6224 6509 3 102000080 1
6225 6510 3 103000050 1
6226 6511 3 105000050 1
6227 6512 3 107000060 1
6228 6513 3 107000070 1
6229 6514 3 107000080 1
6230 6515 3 108000050 1
6231 6516 3 109000050 1
6232 6517 3 103000060 1
6233 6518 3 103000070 1
6234 6519 3 103000080 1
6235 6520 3 110000050 1
6236 6521 3 106000060 1
6237 6522 3 106000070 1
6238 6523 3 106000080 1
6239 6524 3 101000070 1
6240 6525 3 110000060 1
6241 6526 3 104000060 1
6242 6527 3 104000070 1
6243 6528 3 104000080 1
6244 6529 3 102000050 1
6245 6530 3 104000170 1
6246 6531 3 104000260 1
6247 6532 3 111000010 1
6248 6533 3 111000020 1
6249 6534 3 111000030 1
6250 6535 3 112000020 1
6251 6536 3 112000030 1
6252 6537 3 108000060 1
6253 6538 3 108000070 1
6254 6539 3 108000080 1
6255 6540 3 107000050 1
6256 6541 3 112000010 1
6257 6542 3 110000070 1
6258 6543 3 110000080 1
6259 6544 3 118000020 1
6260 6545 3 118000030 1
6261 6546 3 118000040 1
6262 6547 4 101000090 1
6263 6548 4 101000100 1
6264 6549 4 101000110 1
6265 6550 4 109000100 1
6266 6551 4 105000100 1
6267 6552 4 105000110 1
6268 6553 4 108000090 1
6269 6554 4 110000090 1
6270 6555 4 102000100 1
6271 6556 4 102000110 1
6272 6557 4 106000090 1
6273 6558 4 109000090 1
6274 6559 4 107000100 1
6275 6560 4 103000090 1
6276 6561 4 102000090 1
6277 6562 4 103000100 1
6278 6563 4 106000100 1
6279 6564 4 106000110 1
6280 6565 4 104000090 1
6281 6566 4 104000100 1
6282 6567 4 104000110 1
6283 6568 4 107000090 1
6284 6569 4 104000180 1
6285 6570 4 111000040 1
6286 6571 4 112000040 1
6287 6572 4 108000100 1
6288 6573 4 105000090 1
6289 6574 4 110000100 1
6290 6575 4 118000050 1
6291 6576 4 118000060 1
6292 6577 5 101000120 1
6293 6578 5 109000110 1
6294 6579 5 105000120 1
6295 6580 5 102000120 1
6296 6581 5 107000110 1
6297 6582 5 103000120 1
6298 6583 5 106000120 1
6299 6584 5 104000120 1
6300 6585 5 104000190 1
6301 6586 5 111000060 1
6302 6587 5 112000060 1
6303 6588 5 108000110 1
6304 6589 5 110000110 1
6305 6590 5 118000070 1
6306 6591 1 170002 3
6307 6592 2 170003 3
6308 6593 3 170004 3
6309 6594 1 180002 3
6310 6595 2 180003 3
6311 6596 3 180004 3
6312 6597 1 201000010 8
6313 6598 1 292000010 8
6314 6599 1 299000040 8
6315 6600 1 299000070 8
6316 6601 1 299000110 8
6317 6602 1 299000120 8
6318 6603 1 299000140 8
6319 6604 2 202000010 8
6320 6605 2 290000010 8
6321 6606 2 299000010 8
6322 6607 2 299000150 8
6323 6608 2 299000190 8
6324 6609 2 299000200 8
6325 6610 2 299000210 8
6326 6611 3 298000050 8
6327 6612 3 298000060 8
6328 6613 3 299000060 8
6329 6614 3 299000170 8
6330 6615 5 297000100 8
6331 6616 5 291000020 8
6332 6617 4 140000 3
6333 6618 5 150010 3
6334 6619 5 150020 3
6335 6620 5 150030 3
6336 6621 5 150040 3
6337 6623 1 101000010 1
6338 6624 1 102000010 1
6339 6625 1 103000010 1
6340 6626 1 104000010 1
6341 6627 1 105000010 1
6342 6628 1 106000010 1
6343 6629 1 107000010 1
6344 6630 1 108000010 1
6345 6631 1 109000010 1
6346 6632 1 110000010 1
6347 6633 2 101000020 1
6348 6634 2 101000030 1
6349 6635 2 102000020 1
6350 6636 2 102000030 1
6351 6637 2 102000040 1
6352 6638 2 103000020 1
6353 6639 2 103000030 1
6354 6640 2 103000040 1
6355 6641 2 104000020 1
6356 6642 2 104000030 1
6357 6643 2 104000040 1
6358 6644 2 105000020 1
6359 6645 2 105000030 1
6360 6646 2 105000040 1
6361 6647 2 106000020 1
6362 6648 2 106000030 1
6363 6649 2 106000040 1
6364 6650 2 107000020 1
6365 6651 2 107000030 1
6366 6652 2 107000040 1
6367 6653 2 108000020 1
6368 6654 2 108000030 1
6369 6655 2 108000040 1
6370 6656 2 109000020 1
6371 6657 2 109000030 1
6372 6658 2 109000040 1
6373 6659 2 110000020 1
6374 6660 2 110000030 1
6375 6661 2 110000040 1
6376 6662 2 118000010 1
6377 6663 3 101000050 1
6378 6664 3 101000060 1
6379 6665 3 101000080 1
6380 6666 3 101000040 1
6381 6667 3 109000060 1
6382 6668 3 109000070 1
6383 6669 3 109000080 1
6384 6670 3 105000060 1
6385 6671 3 105000070 1
6386 6672 3 105000080 1
6387 6673 3 104000050 1
6388 6674 3 106000050 1
6389 6675 3 102000060 1
6390 6676 3 102000070 1
6391 6677 3 102000080 1
6392 6678 3 103000050 1
6393 6679 3 105000050 1
6394 6680 3 107000060 1
6395 6681 3 107000070 1
6396 6682 3 107000080 1
6397 6683 3 108000050 1
6398 6684 3 109000050 1
6399 6685 3 103000060 1
6400 6686 3 103000070 1
6401 6687 3 103000080 1
6402 6688 3 110000050 1
6403 6689 3 106000060 1
6404 6690 3 106000070 1
6405 6691 3 106000080 1
6406 6692 3 101000070 1
6407 6693 3 110000060 1
6408 6694 3 104000060 1
6409 6695 3 104000070 1
6410 6696 3 104000080 1
6411 6697 3 102000050 1
6412 6698 3 104000170 1
6413 6699 3 104000260 1
6414 6700 3 111000010 1
6415 6701 3 111000020 1
6416 6702 3 111000030 1
6417 6703 3 112000020 1
6418 6704 3 112000030 1
6419 6705 3 108000060 1
6420 6706 3 108000070 1
6421 6707 3 108000080 1
6422 6708 3 107000050 1
6423 6709 3 112000010 1
6424 6710 3 110000070 1
6425 6711 3 110000080 1
6426 6712 3 118000020 1
6427 6713 3 118000030 1
6428 6714 3 118000040 1
6429 6715 4 101000090 1
6430 6716 4 101000100 1
6431 6717 4 101000110 1
6432 6718 4 109000100 1
6433 6719 4 105000100 1
6434 6720 4 105000110 1
6435 6721 4 108000090 1
6436 6722 4 110000090 1
6437 6723 4 102000100 1
6438 6724 4 102000110 1
6439 6725 4 106000090 1
6440 6726 4 109000090 1
6441 6727 4 107000100 1
6442 6728 4 103000090 1
6443 6729 4 102000090 1
6444 6730 4 103000100 1
6445 6731 4 106000100 1
6446 6732 4 106000110 1
6447 6733 4 104000090 1
6448 6734 4 104000100 1
6449 6735 4 104000110 1
6450 6736 4 107000090 1
6451 6737 4 104000180 1
6452 6738 4 111000040 1
6453 6739 4 112000040 1
6454 6740 4 108000100 1
6455 6741 4 105000090 1
6456 6742 4 110000100 1
6457 6743 4 118000050 1
6458 6744 4 118000060 1
6459 6745 5 101000120 1
6460 6746 5 109000110 1
6461 6747 5 105000120 1
6462 6748 5 102000120 1
6463 6749 5 107000110 1
6464 6750 5 103000120 1
6465 6751 5 106000120 1
6466 6752 5 104000120 1
6467 6753 5 104000190 1
6468 6754 5 111000060 1
6469 6755 5 112000060 1
6470 6756 5 108000110 1
6471 6757 5 110000110 1
6472 6758 5 118000070 1
6473 6759 2 170003 3
6474 6760 3 170004 3
6475 6761 2 180003 3
6476 6762 3 180004 3
6477 6763 1 201000010 8
6478 6764 1 292000010 8
6479 6765 1 299000040 8
6480 6766 1 299000070 8
6481 6767 1 299000110 8
6482 6768 1 299000120 8
6483 6769 1 299000140 8
6484 6770 2 202000010 8
6485 6771 2 290000010 8
6486 6772 2 299000010 8
6487 6773 2 299000150 8
6488 6774 2 299000190 8
6489 6775 2 299000200 8
6490 6776 2 299000210 8
6491 6777 3 298000050 8
6492 6778 3 298000060 8
6493 6779 3 299000060 8
6494 6780 3 299000170 8
6495 6781 5 297000100 8
6496 6782 5 291000020 8
6497 6783 4 140000 3
6498 6784 5 150010 3
6499 6785 5 150020 3
6500 6786 5 150030 3
6501 6787 5 150040 3
6502 6789 3 101000050 1
6503 6790 3 101000060 1
6504 6791 3 101000080 1
6505 6792 3 101000040 1
6506 6793 3 109000060 1
6507 6794 3 109000070 1
6508 6795 3 109000080 1
6509 6796 3 105000060 1
6510 6797 3 105000070 1
6511 6798 3 105000080 1
6512 6799 3 104000050 1
6513 6800 3 106000050 1
6514 6801 3 102000060 1
6515 6802 3 102000070 1
6516 6803 3 102000080 1
6517 6804 3 103000050 1
6518 6805 3 105000050 1
6519 6806 3 107000060 1
6520 6807 3 107000070 1
6521 6808 3 107000080 1
6522 6809 3 108000050 1
6523 6810 3 109000050 1
6524 6811 3 103000060 1
6525 6812 3 103000070 1
6526 6813 3 103000080 1
6527 6814 3 110000050 1
6528 6815 3 106000060 1
6529 6816 3 106000070 1
6530 6817 3 106000080 1
6531 6818 3 101000070 1
6532 6819 3 110000060 1
6533 6820 3 104000060 1
6534 6821 3 104000070 1
6535 6822 3 104000080 1
6536 6823 3 102000050 1
6537 6824 3 104000170 1
6538 6825 3 104000260 1
6539 6826 3 111000010 1
6540 6827 3 111000020 1
6541 6828 3 111000030 1
6542 6829 3 112000020 1
6543 6830 3 112000030 1
6544 6831 3 108000060 1
6545 6832 3 108000070 1
6546 6833 3 108000080 1
6547 6834 3 107000050 1
6548 6835 3 112000010 1
6549 6836 3 110000070 1
6550 6837 3 110000080 1
6551 6838 3 118000020 1
6552 6839 3 118000030 1
6553 6840 3 118000040 1
6554 6841 4 101000090 1
6555 6842 4 101000100 1
6556 6843 4 101000110 1
6557 6844 4 109000100 1
6558 6845 4 105000100 1
6559 6846 4 105000110 1
6560 6847 4 108000090 1
6561 6848 4 110000090 1
6562 6849 4 102000100 1
6563 6850 4 102000110 1
6564 6851 4 106000090 1
6565 6852 4 109000090 1
6566 6853 4 107000100 1
6567 6854 4 103000090 1
6568 6855 4 102000090 1
6569 6856 4 103000100 1
6570 6857 4 106000100 1
6571 6858 4 106000110 1
6572 6859 4 104000090 1
6573 6860 4 104000100 1
6574 6861 4 104000110 1
6575 6862 4 107000090 1
6576 6863 4 104000180 1
6577 6864 4 111000040 1
6578 6865 4 112000040 1
6579 6866 4 108000100 1
6580 6867 4 105000090 1
6581 6868 4 110000100 1
6582 6869 4 118000050 1
6583 6870 4 118000060 1
6584 6871 5 101000120 1
6585 6872 5 109000110 1
6586 6873 5 105000120 1
6587 6874 5 102000120 1
6588 6875 5 107000110 1
6589 6876 5 103000120 1
6590 6877 5 106000120 1
6591 6878 5 104000120 1
6592 6879 5 104000190 1
6593 6880 5 111000060 1
6594 6881 5 112000060 1
6595 6882 5 108000110 1
6596 6883 5 110000110 1
6597 6884 5 118000070 1
6598 6885 3 170004 3
6599 6886 3 180004 3
6600 6887 1 201000010 8
6601 6888 1 292000010 8
6602 6889 1 299000040 8
6603 6890 1 299000070 8
6604 6891 1 299000110 8
6605 6892 1 299000120 8
6606 6893 1 299000140 8
6607 6894 2 202000010 8
6608 6895 2 290000010 8
6609 6896 2 299000010 8
6610 6897 2 299000150 8
6611 6898 2 299000190 8
6612 6899 2 299000200 8
6613 6900 2 299000210 8
6614 6901 3 298000050 8
6615 6902 3 298000060 8
6616 6903 3 299000060 8
6617 6904 3 299000170 8
6618 6905 5 297000100 8
6619 6906 5 291000020 8
6620 6907 4 140000 3
6621 6908 5 150010 3
6622 6909 5 150020 3
6623 6910 5 150030 3
6624 6911 5 150040 3
6625 6913 3 101000050 1
6626 6914 3 101000060 1
6627 6915 3 101000080 1
6628 6916 3 101000040 1
6629 6917 3 109000060 1
6630 6918 3 109000070 1
6631 6919 3 109000080 1
6632 6920 3 105000060 1
6633 6921 3 105000070 1
6634 6922 3 105000080 1
6635 6923 3 104000050 1
6636 6924 3 106000050 1
6637 6925 3 102000060 1
6638 6926 3 102000070 1
6639 6927 3 102000080 1
6640 6928 3 103000050 1
6641 6929 3 105000050 1
6642 6930 3 107000060 1
6643 6931 3 107000070 1
6644 6932 3 107000080 1
6645 6933 3 108000050 1
6646 6934 3 109000050 1
6647 6935 3 103000060 1
6648 6936 3 103000070 1
6649 6937 3 103000080 1
6650 6938 3 110000050 1
6651 6939 3 106000060 1
6652 6940 3 106000070 1
6653 6941 3 106000080 1
6654 6942 3 101000070 1
6655 6943 3 110000060 1
6656 6944 3 104000060 1
6657 6945 3 104000070 1
6658 6946 3 104000080 1
6659 6947 3 102000050 1
6660 6948 3 104000170 1
6661 6949 3 104000260 1
6662 6950 3 111000010 1
6663 6951 3 111000020 1
6664 6952 3 111000030 1
6665 6953 3 112000020 1
6666 6954 3 112000030 1
6667 6955 3 108000060 1
6668 6956 3 108000070 1
6669 6957 3 108000080 1
6670 6958 3 107000050 1
6671 6959 3 112000010 1
6672 6960 3 110000070 1
6673 6961 3 110000080 1
6674 6962 3 118000020 1
6675 6963 3 118000030 1
6676 6964 3 118000040 1
6677 6965 4 101000090 1
6678 6966 4 101000100 1
6679 6967 4 101000110 1
6680 6968 4 109000100 1
6681 6969 4 105000100 1
6682 6970 4 105000110 1
6683 6971 4 108000090 1
6684 6972 4 110000090 1
6685 6973 4 102000100 1
6686 6974 4 102000110 1
6687 6975 4 106000090 1
6688 6976 4 109000090 1
6689 6977 4 107000100 1
6690 6978 4 103000090 1
6691 6979 4 102000090 1
6692 6980 4 103000100 1
6693 6981 4 106000100 1
6694 6982 4 106000110 1
6695 6983 4 104000090 1
6696 6984 4 104000100 1
6697 6985 4 104000110 1
6698 6986 4 107000090 1
6699 6987 4 104000180 1
6700 6988 4 111000040 1
6701 6989 4 112000040 1
6702 6990 4 108000100 1
6703 6991 4 105000090 1
6704 6992 4 110000100 1
6705 6993 4 118000050 1
6706 6994 4 118000060 1
6707 6995 5 101000120 1
6708 6996 5 109000110 1
6709 6997 5 105000120 1
6710 6998 5 102000120 1
6711 6999 5 107000110 1
6712 7000 5 103000120 1
6713 7001 5 106000120 1
6714 7002 5 104000120 1
6715 7003 5 104000190 1
6716 7004 5 111000060 1
6717 7005 5 112000060 1
6718 7006 5 108000110 1
6719 7007 5 110000110 1
6720 7008 5 118000070 1
6721 7009 3 170004 3
6722 7010 3 180004 3
6723 7011 1 201000010 8
6724 7012 1 292000010 8
6725 7013 1 299000040 8
6726 7014 1 299000070 8
6727 7015 1 299000110 8
6728 7016 1 299000120 8
6729 7017 1 299000140 8
6730 7018 2 202000010 8
6731 7019 2 290000010 8
6732 7020 2 299000010 8
6733 7021 2 299000150 8
6734 7022 2 299000190 8
6735 7023 2 299000200 8
6736 7024 2 299000210 8
6737 7025 3 298000050 8
6738 7026 3 298000060 8
6739 7027 3 299000060 8
6740 7028 3 299000170 8
6741 7029 5 297000100 8
6742 7030 5 291000020 8
6743 7031 4 140000 3
6744 7032 5 150010 3
6745 7033 5 150020 3
6746 7034 5 150030 3
6747 7035 5 150040 3
6748 7037 3 101000050 1
6749 7038 3 101000060 1
6750 7039 3 101000080 1
6751 7040 3 101000040 1
6752 7041 3 109000060 1
6753 7042 3 109000070 1
6754 7043 3 109000080 1
6755 7044 3 105000060 1
6756 7045 3 105000070 1
6757 7046 3 105000080 1
6758 7047 3 104000050 1
6759 7048 3 106000050 1
6760 7049 3 102000060 1
6761 7050 3 102000070 1
6762 7051 3 102000080 1
6763 7052 3 103000050 1
6764 7053 3 105000050 1
6765 7054 3 107000060 1
6766 7055 3 107000070 1
6767 7056 3 107000080 1
6768 7057 3 108000050 1
6769 7058 3 109000050 1
6770 7059 3 103000060 1
6771 7060 3 103000070 1
6772 7061 3 103000080 1
6773 7062 3 110000050 1
6774 7063 3 106000060 1
6775 7064 3 106000070 1
6776 7065 3 106000080 1
6777 7066 3 101000070 1
6778 7067 3 110000060 1
6779 7068 3 104000060 1
6780 7069 3 104000070 1
6781 7070 3 104000080 1
6782 7071 3 102000050 1
6783 7072 3 104000170 1
6784 7073 3 104000260 1
6785 7074 3 111000010 1
6786 7075 3 111000020 1
6787 7076 3 111000030 1
6788 7077 3 112000020 1
6789 7078 3 112000030 1
6790 7079 3 108000060 1
6791 7080 3 108000070 1
6792 7081 3 108000080 1
6793 7082 3 107000050 1
6794 7083 3 112000010 1
6795 7084 3 110000070 1
6796 7085 3 110000080 1
6797 7086 3 118000020 1
6798 7087 3 118000030 1
6799 7088 3 118000040 1
6800 7089 4 101000090 1
6801 7090 4 101000100 1
6802 7091 4 101000110 1
6803 7092 4 109000100 1
6804 7093 4 105000100 1
6805 7094 4 105000110 1
6806 7095 4 108000090 1
6807 7096 4 110000090 1
6808 7097 4 102000100 1
6809 7098 4 102000110 1
6810 7099 4 106000090 1
6811 7100 4 109000090 1
6812 7101 4 107000100 1
6813 7102 4 103000090 1
6814 7103 4 102000090 1
6815 7104 4 103000100 1
6816 7105 4 106000100 1
6817 7106 4 106000110 1
6818 7107 4 104000090 1
6819 7108 4 104000100 1
6820 7109 4 104000110 1
6821 7110 4 107000090 1
6822 7111 4 104000180 1
6823 7112 4 111000040 1
6824 7113 4 112000040 1
6825 7114 4 108000100 1
6826 7115 4 105000090 1
6827 7116 4 110000100 1
6828 7117 4 118000050 1
6829 7118 4 118000060 1
6830 7119 5 101000120 1
6831 7120 5 109000110 1
6832 7121 5 105000120 1
6833 7122 5 102000120 1
6834 7123 5 107000110 1
6835 7124 5 103000120 1
6836 7125 5 106000120 1
6837 7126 5 104000120 1
6838 7127 5 104000190 1
6839 7128 5 111000060 1
6840 7129 5 112000060 1
6841 7130 5 108000110 1
6842 7131 5 110000110 1
6843 7132 5 118000070 1
6844 7133 3 170004 3
6845 7134 3 180004 3
6846 7135 1 201000010 8
6847 7136 1 292000010 8
6848 7137 1 299000040 8
6849 7138 1 299000070 8
6850 7139 1 299000110 8
6851 7140 1 299000120 8
6852 7141 1 299000140 8
6853 7142 2 202000010 8
6854 7143 2 290000010 8
6855 7144 2 299000010 8
6856 7145 2 299000150 8
6857 7146 2 299000190 8
6858 7147 2 299000200 8
6859 7148 2 299000210 8
6860 7149 3 298000050 8
6861 7150 3 298000060 8
6862 7151 3 299000060 8
6863 7152 3 299000170 8
6864 7153 5 297000100 8
6865 7154 5 291000020 8
6866 7155 4 140000 3
6867 7156 5 150010 3
6868 7157 5 150020 3
6869 7158 5 150030 3
6870 7159 5 150040 3
6871 7160 5 190000 3
6872 7161 5 200000 3
6873 7162 5 210000 3
6874 7164 3 118000020 1
6875 7165 3 118000030 1
6876 7166 3 118000040 1
6877 7167 3 106000060 1
6878 7168 3 106000070 1
6879 7169 3 106000080 1
6880 7170 3 101000070 1
6881 7171 3 110000060 1
6882 7172 3 104000060 1
6883 7173 3 104000070 1
6884 7174 3 104000080 1
6885 7175 3 102000050 1
6886 7176 3 104000170 1
6887 7177 3 104000260 1
6888 7178 4 118000050 1
6889 7179 4 118000060 1
6890 7180 4 106000100 1
6891 7181 4 106000110 1
6892 7182 4 104000090 1
6893 7183 4 104000100 1
6894 7184 4 104000110 1
6895 7185 4 104000270 1
6896 7186 4 107000090 1
6897 7187 4 104000180 1
6898 7188 5 118000070 1
6899 7189 5 106000120 1
6900 7190 5 104000120 1
6901 7191 5 104000190 1
6902 7192 1 103000000 2
6903 7193 2 103000001 2
6904 7194 3 103000002 2
6905 7195 4 103000003 2
6906 7196 5 103000004 2
6907 7197 1 111000000 2
6908 7198 2 111000001 2
6909 7199 3 111000002 2
6910 7200 4 111000003 2
6911 7201 5 111000004 2
6912 7202 1 115000000 2
6913 7203 2 115000001 2
6914 7204 3 115000002 2
6915 7205 4 115000003 2
6916 7206 5 115000004 2
6917 7207 3 170004 3
6918 7208 4 170005 3
6919 7209 3 180004 3
6920 7210 4 180005 3
6921 7211 4 140000 3
6922 7212 4 150010 3
6923 7213 4 150020 3
6924 7214 4 150030 3
6925 7215 4 150040 3
6926 7217 3 111000010 1
6927 7218 3 111000020 1
6928 7219 3 111000030 1
6929 7220 3 112000020 1
6930 7221 3 112000030 1
6931 7222 3 108000060 1
6932 7223 3 108000070 1
6933 7224 3 108000080 1
6934 7225 3 107000050 1
6935 7226 3 112000010 1
6936 7227 3 110000070 1
6937 7228 3 110000080 1
6938 7229 4 111000040 1
6939 7230 4 112000040 1
6940 7231 4 108000100 1
6941 7232 4 105000090 1
6942 7233 4 110000100 1
6943 7234 5 111000060 1
6944 7235 5 112000060 1
6945 7236 5 108000110 1
6946 7237 5 110000110 1
6947 7238 1 108000000 2
6948 7239 2 108000001 2
6949 7240 3 108000002 2
6950 7241 4 108000003 2
6951 7242 5 108000004 2
6952 7243 1 107000000 2
6953 7244 2 107000001 2
6954 7245 3 107000002 2
6955 7246 4 107000003 2
6956 7247 5 107000004 2
6957 7248 1 120000000 2
6958 7249 2 120000001 2
6959 7250 3 120000002 2
6960 7251 4 120000003 2
6961 7252 5 120000004 2
6962 7253 4 110024 3
6963 7254 4 110034 3
6964 7255 4 110044 3
6965 7256 4 110054 3
6966 7257 3 110060 3
6967 7258 3 110070 3
6968 7259 3 110080 3
6969 7260 3 110090 3
6970 7261 3 110100 3
6971 7262 3 110110 3
6972 7263 3 110120 3
6973 7264 3 110130 3
6974 7265 3 110140 3
6975 7266 3 110150 3
6976 7267 3 110160 3
6977 7268 3 110170 3
6978 7269 3 110180 3
6979 7270 3 110190 3
6980 7271 3 110200 3
6981 7272 3 110210 3
6982 7273 3 110220 3
6983 7274 3 110230 3
6984 7275 3 110240 3
6985 7276 3 110250 3
6986 7277 3 110260 3
6987 7278 3 110270 3
6988 7279 3 110620 3
6989 7280 3 110670 3
6990 7281 4 140000 3
6991 7282 4 150010 3
6992 7283 4 150020 3
6993 7284 4 150030 3
6994 7285 4 150040 3
6995 7287 3 101000050 1
6996 7288 3 101000060 1
6997 7289 3 101000080 1
6998 7290 3 101000040 1
6999 7291 3 109000060 1
7000 7292 3 109000070 1
7001 7293 3 109000080 1
7002 7294 3 105000060 1
7003 7295 3 105000070 1
7004 7296 3 105000080 1
7005 7297 3 104000050 1
7006 7298 3 106000050 1
7007 7299 4 101000090 1
7008 7300 4 101000100 1
7009 7301 4 101000110 1
7010 7302 4 109000100 1
7011 7303 4 105000100 1
7012 7304 4 105000110 1
7013 7305 4 108000090 1
7014 7306 4 110000090 1
7015 7307 5 101000120 1
7016 7308 5 109000110 1
7017 7309 5 105000120 1
7018 7310 1 101000000 2
7019 7311 2 101000001 2
7020 7312 3 101000002 2
7021 7313 4 101000008 2
7022 7314 5 101000004 2
7023 7315 1 109000000 2
7024 7316 2 109000001 2
7025 7317 3 109000002 2
7026 7318 4 109000003 2
7027 7319 5 109000004 2
7028 7320 4 120024 3
7029 7321 4 120034 3
7030 7322 4 120044 3
7031 7323 4 120054 3
7032 7324 3 120241 3
7033 7325 3 120251 3
7034 7326 3 120261 3
7035 7327 3 120271 3
7036 7328 3 120300 3
7037 7329 3 120310 3
7038 7330 3 120320 3
7039 7331 3 120330 3
7040 7332 3 120340 3
7041 7333 3 120350 3
7042 7334 3 120360 3
7043 7335 3 120370 3
7044 7336 3 120380 3
7045 7337 3 120390 3
7046 7338 3 120400 3
7047 7339 3 120410 3
7048 7340 3 120420 3
7049 7341 3 120430 3
7050 7342 3 120450 3
7051 7343 3 120460 3
7052 7344 3 120550 3
7053 7345 3 120560 3
7054 7346 3 120570 3
7055 7347 3 120990 3
7056 7348 3 121000 3
7057 7349 3 121010 3
7058 7350 3 121020 3
7059 7351 4 140000 3
7060 7352 4 150010 3
7061 7353 4 150020 3
7062 7354 4 150030 3
7063 7355 4 150040 3
7064 7357 3 102000060 1
7065 7358 3 102000070 1
7066 7359 3 102000080 1
7067 7360 3 103000050 1
7068 7361 3 105000050 1
7069 7362 3 107000060 1
7070 7363 3 107000070 1
7071 7364 3 107000080 1
7072 7365 3 108000050 1
7073 7366 3 109000050 1
7074 7367 3 103000060 1
7075 7368 3 103000070 1
7076 7369 3 103000080 1
7077 7370 3 110000050 1
7078 7371 4 102000100 1
7079 7372 4 102000110 1
7080 7373 4 106000090 1
7081 7374 4 109000090 1
7082 7375 4 107000100 1
7083 7376 4 103000090 1
7084 7377 4 102000090 1
7085 7378 4 103000100 1
7086 7379 5 102000120 1
7087 7380 5 107000110 1
7088 7381 5 103000120 1
7089 7382 1 102000000 2
7090 7383 2 102000001 2
7091 7384 3 102000002 2
7092 7385 4 102000003 2
7093 7386 5 102000004 2
7094 7387 1 105000000 2
7095 7388 2 105000001 2
7096 7389 3 105000002 2
7097 7390 4 105000003 2
7098 7391 5 105000004 2
7099 7392 1 112000000 2
7100 7393 2 112000001 2
7101 7394 3 112000002 2
7102 7395 4 112000003 2
7103 7396 5 112000004 2
7104 7397 4 130024 3
7105 7398 4 130034 3
7106 7399 4 130044 3
7107 7400 4 130054 3
7108 7401 3 130060 3
7109 7402 3 130070 3
7110 7403 3 130080 3
7111 7404 3 130090 3
7112 7405 3 130100 3
7113 7406 3 130110 3
7114 7407 3 130120 3
7115 7408 3 130130 3
7116 7409 3 130140 3
7117 7410 3 130150 3
7118 7411 3 130160 3
7119 7412 3 130170 3
7120 7413 3 130180 3
7121 7414 3 130190 3
7122 7415 3 130200 3
7123 7416 3 130420 3
7124 7417 3 130510 3
7125 7418 3 130520 3
7126 7419 3 130530 3
7127 7420 3 130540 3
7128 7421 3 130660 3
7129 7422 3 130790 3
7130 7423 3 130800 3
7131 7424 4 140000 3
7132 7425 4 150010 3
7133 7426 4 150020 3
7134 7427 4 150030 3
7135 7428 4 150040 3
7136 7430 1 101000010 1
7137 7431 1 102000010 1
7138 7432 1 103000010 1
7139 7433 1 104000010 1
7140 7434 1 105000010 1
7141 7435 1 106000010 1
7142 7436 1 107000010 1
7143 7437 1 108000010 1
7144 7438 1 109000010 1
7145 7439 1 110000010 1
7146 7440 2 101000020 1
7147 7441 2 101000030 1
7148 7442 2 102000020 1
7149 7443 2 102000030 1
7150 7444 2 102000040 1
7151 7445 2 103000020 1
7152 7446 2 103000030 1
7153 7447 2 103000040 1
7154 7448 2 104000020 1
7155 7449 2 104000030 1
7156 7450 2 104000040 1
7157 7451 2 105000020 1
7158 7452 2 105000030 1
7159 7453 2 105000040 1
7160 7454 2 106000020 1
7161 7455 2 106000030 1
7162 7456 2 106000040 1
7163 7457 2 107000020 1
7164 7458 2 107000030 1
7165 7459 2 107000040 1
7166 7460 2 108000020 1
7167 7461 2 108000030 1
7168 7462 2 108000040 1
7169 7463 2 109000020 1
7170 7464 2 109000030 1
7171 7465 2 109000040 1
7172 7466 2 110000020 1
7173 7467 2 110000030 1
7174 7468 2 110000040 1
7175 7469 2 118000010 1
7176 7470 3 101000050 1
7177 7471 3 101000060 1
7178 7472 3 101000080 1
7179 7473 3 101000040 1
7180 7474 3 109000060 1
7181 7475 3 109000070 1
7182 7476 3 109000080 1
7183 7477 3 105000060 1
7184 7478 3 105000070 1
7185 7479 3 105000080 1
7186 7480 3 104000050 1
7187 7481 3 106000050 1
7188 7482 3 102000060 1
7189 7483 3 102000070 1
7190 7484 3 102000080 1
7191 7485 3 103000050 1
7192 7486 3 105000050 1
7193 7487 3 107000060 1
7194 7488 3 107000070 1
7195 7489 3 107000080 1
7196 7490 3 108000050 1
7197 7491 3 109000050 1
7198 7492 3 103000060 1
7199 7493 3 103000070 1
7200 7494 3 103000080 1
7201 7495 3 110000050 1
7202 7496 3 106000060 1
7203 7497 3 106000070 1
7204 7498 3 106000080 1
7205 7499 3 101000070 1
7206 7500 3 110000060 1
7207 7501 3 104000060 1
7208 7502 3 104000070 1
7209 7503 3 104000080 1
7210 7504 3 102000050 1
7211 7505 3 104000170 1
7212 7506 3 104000260 1
7213 7507 3 111000010 1
7214 7508 3 111000020 1
7215 7509 3 111000030 1
7216 7510 3 112000020 1
7217 7511 3 112000030 1
7218 7512 3 108000060 1
7219 7513 3 108000070 1
7220 7514 3 108000080 1
7221 7515 3 107000050 1
7222 7516 3 112000010 1
7223 7517 3 110000070 1
7224 7518 3 110000080 1
7225 7519 3 118000020 1
7226 7520 3 118000030 1
7227 7521 3 118000040 1
7228 7522 4 101000090 1
7229 7523 4 101000100 1
7230 7524 4 101000110 1
7231 7525 4 109000100 1
7232 7526 4 105000100 1
7233 7527 4 105000110 1
7234 7528 4 108000090 1
7235 7529 4 110000090 1
7236 7530 4 102000100 1
7237 7531 4 102000110 1
7238 7532 4 106000090 1
7239 7533 4 109000090 1
7240 7534 4 107000100 1
7241 7535 4 103000090 1
7242 7536 4 102000090 1
7243 7537 4 103000100 1
7244 7538 4 106000100 1
7245 7539 4 106000110 1
7246 7540 4 104000090 1
7247 7541 4 104000100 1
7248 7542 4 104000110 1
7249 7543 4 107000090 1
7250 7544 4 104000180 1
7251 7545 4 111000040 1
7252 7546 4 112000040 1
7253 7547 4 108000100 1
7254 7548 4 105000090 1
7255 7549 4 110000100 1
7256 7550 4 118000050 1
7257 7551 4 118000060 1
7258 7552 5 101000120 1
7259 7553 5 109000110 1
7260 7554 5 105000120 1
7261 7555 5 102000120 1
7262 7556 5 107000110 1
7263 7557 5 103000120 1
7264 7558 5 106000120 1
7265 7559 5 104000120 1
7266 7560 5 104000190 1
7267 7561 5 111000060 1
7268 7562 5 112000060 1
7269 7563 5 108000110 1
7270 7564 5 110000110 1
7271 7565 5 118000070 1
7272 7566 1 170002 3
7273 7567 2 170003 3
7274 7568 3 170004 3
7275 7569 1 180002 3
7276 7570 2 180003 3
7277 7571 3 180004 3
7278 7572 1 201000010 8
7279 7573 1 292000010 8
7280 7574 1 299000040 8
7281 7575 1 299000070 8
7282 7576 1 299000110 8
7283 7577 1 299000120 8
7284 7578 1 299000140 8
7285 7579 2 202000010 8
7286 7580 2 290000010 8
7287 7581 2 299000010 8
7288 7582 2 299000150 8
7289 7583 2 299000190 8
7290 7584 2 299000200 8
7291 7585 2 299000210 8
7292 7586 3 298000050 8
7293 7587 3 298000060 8
7294 7588 3 299000060 8
7295 7589 3 299000170 8
7296 7590 3 290000120 8
7297 7591 3 291000050 8
7298 7592 3 292000020 8
7299 7593 4 299000670 8
7300 7594 4 299000680 8
7301 7595 4 204000010 8
7302 7596 5 297000100 8
7303 7597 5 291000020 8
7304 7598 5 297000130 8
7305 7599 5 297000140 8
7306 7600 5 203000010 8
7307 7601 4 140000 3
7308 7602 5 150010 3
7309 7603 5 150020 3
7310 7604 5 150030 3
7311 7605 5 150040 3
7312 7607 1 101000010 1
7313 7608 1 102000010 1
7314 7609 1 103000010 1
7315 7610 1 104000010 1
7316 7611 1 105000010 1
7317 7612 1 106000010 1
7318 7613 1 107000010 1
7319 7614 1 108000010 1
7320 7615 1 109000010 1
7321 7616 1 110000010 1
7322 7617 2 101000020 1
7323 7618 2 101000030 1
7324 7619 2 102000020 1
7325 7620 2 102000030 1
7326 7621 2 102000040 1
7327 7622 2 103000020 1
7328 7623 2 103000030 1
7329 7624 2 103000040 1
7330 7625 2 104000020 1
7331 7626 2 104000030 1
7332 7627 2 104000040 1
7333 7628 2 105000020 1
7334 7629 2 105000030 1
7335 7630 2 105000040 1
7336 7631 2 106000020 1
7337 7632 2 106000030 1
7338 7633 2 106000040 1
7339 7634 2 107000020 1
7340 7635 2 107000030 1
7341 7636 2 107000040 1
7342 7637 2 108000020 1
7343 7638 2 108000030 1
7344 7639 2 108000040 1
7345 7640 2 109000020 1
7346 7641 2 109000030 1
7347 7642 2 109000040 1
7348 7643 2 110000020 1
7349 7644 2 110000030 1
7350 7645 2 110000040 1
7351 7646 2 118000010 1
7352 7647 3 101000050 1
7353 7648 3 101000060 1
7354 7649 3 101000080 1
7355 7650 3 101000040 1
7356 7651 3 109000060 1
7357 7652 3 109000070 1
7358 7653 3 109000080 1
7359 7654 3 105000060 1
7360 7655 3 105000070 1
7361 7656 3 105000080 1
7362 7657 3 104000050 1
7363 7658 3 106000050 1
7364 7659 3 102000060 1
7365 7660 3 102000070 1
7366 7661 3 102000080 1
7367 7662 3 103000050 1
7368 7663 3 105000050 1
7369 7664 3 107000060 1
7370 7665 3 107000070 1
7371 7666 3 107000080 1
7372 7667 3 108000050 1
7373 7668 3 109000050 1
7374 7669 3 103000060 1
7375 7670 3 103000070 1
7376 7671 3 103000080 1
7377 7672 3 110000050 1
7378 7673 3 106000060 1
7379 7674 3 106000070 1
7380 7675 3 106000080 1
7381 7676 3 101000070 1
7382 7677 3 110000060 1
7383 7678 3 104000060 1
7384 7679 3 104000070 1
7385 7680 3 104000080 1
7386 7681 3 102000050 1
7387 7682 3 104000170 1
7388 7683 3 104000260 1
7389 7684 3 111000010 1
7390 7685 3 111000020 1
7391 7686 3 111000030 1
7392 7687 3 112000020 1
7393 7688 3 112000030 1
7394 7689 3 108000060 1
7395 7690 3 108000070 1
7396 7691 3 108000080 1
7397 7692 3 107000050 1
7398 7693 3 112000010 1
7399 7694 3 110000070 1
7400 7695 3 110000080 1
7401 7696 3 118000020 1
7402 7697 3 118000030 1
7403 7698 3 118000040 1
7404 7699 4 101000090 1
7405 7700 4 101000100 1
7406 7701 4 101000110 1
7407 7702 4 109000100 1
7408 7703 4 105000100 1
7409 7704 4 105000110 1
7410 7705 4 108000090 1
7411 7706 4 110000090 1
7412 7707 4 102000100 1
7413 7708 4 102000110 1
7414 7709 4 106000090 1
7415 7710 4 109000090 1
7416 7711 4 107000100 1
7417 7712 4 103000090 1
7418 7713 4 102000090 1
7419 7714 4 103000100 1
7420 7715 4 106000100 1
7421 7716 4 106000110 1
7422 7717 4 104000090 1
7423 7718 4 104000100 1
7424 7719 4 104000110 1
7425 7720 4 107000090 1
7426 7721 4 104000180 1
7427 7722 4 111000040 1
7428 7723 4 112000040 1
7429 7724 4 108000100 1
7430 7725 4 105000090 1
7431 7726 4 110000100 1
7432 7727 4 118000050 1
7433 7728 4 118000060 1
7434 7729 5 101000120 1
7435 7730 5 109000110 1
7436 7731 5 105000120 1
7437 7732 5 102000120 1
7438 7733 5 107000110 1
7439 7734 5 103000120 1
7440 7735 5 106000120 1
7441 7736 5 104000120 1
7442 7737 5 104000190 1
7443 7738 5 111000060 1
7444 7739 5 112000060 1
7445 7740 5 108000110 1
7446 7741 5 110000110 1
7447 7742 5 118000070 1
7448 7743 2 170003 3
7449 7744 3 170004 3
7450 7745 2 180003 3
7451 7746 3 180004 3
7452 7747 1 201000010 8
7453 7748 1 292000010 8
7454 7749 1 299000040 8
7455 7750 1 299000070 8
7456 7751 1 299000110 8
7457 7752 1 299000120 8
7458 7753 1 299000140 8
7459 7754 2 202000010 8
7460 7755 2 290000010 8
7461 7756 2 299000010 8
7462 7757 2 299000150 8
7463 7758 2 299000190 8
7464 7759 2 299000200 8
7465 7760 2 299000210 8
7466 7761 3 298000050 8
7467 7762 3 298000060 8
7468 7763 3 299000060 8
7469 7764 3 299000170 8
7470 7765 3 290000120 8
7471 7766 3 291000050 8
7472 7767 3 292000020 8
7473 7768 4 299000670 8
7474 7769 4 299000680 8
7475 7770 4 204000010 8
7476 7771 5 297000100 8
7477 7772 5 291000020 8
7478 7773 5 297000130 8
7479 7774 5 297000140 8
7480 7775 5 203000010 8
7481 7776 4 140000 3
7482 7777 5 150010 3
7483 7778 5 150020 3
7484 7779 5 150030 3
7485 7780 5 150040 3
7486 7782 3 101000050 1
7487 7783 3 101000060 1
7488 7784 3 101000080 1
7489 7785 3 101000040 1
7490 7786 3 109000060 1
7491 7787 3 109000070 1
7492 7788 3 109000080 1
7493 7789 3 105000060 1
7494 7790 3 105000070 1
7495 7791 3 105000080 1
7496 7792 3 104000050 1
7497 7793 3 106000050 1
7498 7794 3 102000060 1
7499 7795 3 102000070 1
7500 7796 3 102000080 1
7501 7797 3 103000050 1
7502 7798 3 105000050 1
7503 7799 3 107000060 1
7504 7800 3 107000070 1
7505 7801 3 107000080 1
7506 7802 3 108000050 1
7507 7803 3 109000050 1
7508 7804 3 103000060 1
7509 7805 3 103000070 1
7510 7806 3 103000080 1
7511 7807 3 110000050 1
7512 7808 3 106000060 1
7513 7809 3 106000070 1
7514 7810 3 106000080 1
7515 7811 3 101000070 1
7516 7812 3 110000060 1
7517 7813 3 104000060 1
7518 7814 3 104000070 1
7519 7815 3 104000080 1
7520 7816 3 102000050 1
7521 7817 3 104000170 1
7522 7818 3 104000260 1
7523 7819 3 111000010 1
7524 7820 3 111000020 1
7525 7821 3 111000030 1
7526 7822 3 112000020 1
7527 7823 3 112000030 1
7528 7824 3 108000060 1
7529 7825 3 108000070 1
7530 7826 3 108000080 1
7531 7827 3 107000050 1
7532 7828 3 112000010 1
7533 7829 3 110000070 1
7534 7830 3 110000080 1
7535 7831 3 118000020 1
7536 7832 3 118000030 1
7537 7833 3 118000040 1
7538 7834 4 101000090 1
7539 7835 4 101000100 1
7540 7836 4 101000110 1
7541 7837 4 109000100 1
7542 7838 4 105000100 1
7543 7839 4 105000110 1
7544 7840 4 108000090 1
7545 7841 4 110000090 1
7546 7842 4 102000100 1
7547 7843 4 102000110 1
7548 7844 4 106000090 1
7549 7845 4 109000090 1
7550 7846 4 107000100 1
7551 7847 4 103000090 1
7552 7848 4 102000090 1
7553 7849 4 103000100 1
7554 7850 4 106000100 1
7555 7851 4 106000110 1
7556 7852 4 104000090 1
7557 7853 4 104000100 1
7558 7854 4 104000110 1
7559 7855 4 107000090 1
7560 7856 4 104000180 1
7561 7857 4 111000040 1
7562 7858 4 112000040 1
7563 7859 4 108000100 1
7564 7860 4 105000090 1
7565 7861 4 110000100 1
7566 7862 4 118000050 1
7567 7863 4 118000060 1
7568 7864 5 101000120 1
7569 7865 5 109000110 1
7570 7866 5 105000120 1
7571 7867 5 102000120 1
7572 7868 5 107000110 1
7573 7869 5 103000120 1
7574 7870 5 106000120 1
7575 7871 5 104000120 1
7576 7872 5 104000190 1
7577 7873 5 111000060 1
7578 7874 5 112000060 1
7579 7875 5 108000110 1
7580 7876 5 110000110 1
7581 7877 5 118000070 1
7582 7878 3 170004 3
7583 7879 3 180004 3
7584 7880 1 201000010 8
7585 7881 1 292000010 8
7586 7882 1 299000040 8
7587 7883 1 299000070 8
7588 7884 1 299000110 8
7589 7885 1 299000120 8
7590 7886 1 299000140 8
7591 7887 2 202000010 8
7592 7888 2 290000010 8
7593 7889 2 299000010 8
7594 7890 2 299000150 8
7595 7891 2 299000190 8
7596 7892 2 299000200 8
7597 7893 2 299000210 8
7598 7894 3 298000050 8
7599 7895 3 298000060 8
7600 7896 3 299000060 8
7601 7897 3 299000170 8
7602 7898 3 290000120 8
7603 7899 3 291000050 8
7604 7900 3 292000020 8
7605 7901 4 299000670 8
7606 7902 4 299000680 8
7607 7903 4 204000010 8
7608 7904 5 297000100 8
7609 7905 5 291000020 8
7610 7906 5 297000130 8
7611 7907 5 297000140 8
7612 7908 5 203000010 8
7613 7909 4 140000 3
7614 7910 5 150010 3
7615 7911 5 150020 3
7616 7912 5 150030 3
7617 7913 5 150040 3
7618 7915 3 101000050 1
7619 7916 3 101000060 1
7620 7917 3 101000080 1
7621 7918 3 101000040 1
7622 7919 3 109000060 1
7623 7920 3 109000070 1
7624 7921 3 109000080 1
7625 7922 3 105000060 1
7626 7923 3 105000070 1
7627 7924 3 105000080 1
7628 7925 3 104000050 1
7629 7926 3 106000050 1
7630 7927 3 102000060 1
7631 7928 3 102000070 1
7632 7929 3 102000080 1
7633 7930 3 103000050 1
7634 7931 3 105000050 1
7635 7932 3 107000060 1
7636 7933 3 107000070 1
7637 7934 3 107000080 1
7638 7935 3 108000050 1
7639 7936 3 109000050 1
7640 7937 3 103000060 1
7641 7938 3 103000070 1
7642 7939 3 103000080 1
7643 7940 3 110000050 1
7644 7941 3 106000060 1
7645 7942 3 106000070 1
7646 7943 3 106000080 1
7647 7944 3 101000070 1
7648 7945 3 110000060 1
7649 7946 3 104000060 1
7650 7947 3 104000070 1
7651 7948 3 104000080 1
7652 7949 3 102000050 1
7653 7950 3 104000170 1
7654 7951 3 104000260 1
7655 7952 3 111000010 1
7656 7953 3 111000020 1
7657 7954 3 111000030 1
7658 7955 3 112000020 1
7659 7956 3 112000030 1
7660 7957 3 108000060 1
7661 7958 3 108000070 1
7662 7959 3 108000080 1
7663 7960 3 107000050 1
7664 7961 3 112000010 1
7665 7962 3 110000070 1
7666 7963 3 110000080 1
7667 7964 3 118000020 1
7668 7965 3 118000030 1
7669 7966 3 118000040 1
7670 7967 4 101000090 1
7671 7968 4 101000100 1
7672 7969 4 101000110 1
7673 7970 4 109000100 1
7674 7971 4 105000100 1
7675 7972 4 105000110 1
7676 7973 4 108000090 1
7677 7974 4 110000090 1
7678 7975 4 102000100 1
7679 7976 4 102000110 1
7680 7977 4 106000090 1
7681 7978 4 109000090 1
7682 7979 4 107000100 1
7683 7980 4 103000090 1
7684 7981 4 102000090 1
7685 7982 4 103000100 1
7686 7983 4 106000100 1
7687 7984 4 106000110 1
7688 7985 4 104000090 1
7689 7986 4 104000100 1
7690 7987 4 104000110 1
7691 7988 4 107000090 1
7692 7989 4 104000180 1
7693 7990 4 111000040 1
7694 7991 4 112000040 1
7695 7992 4 108000100 1
7696 7993 4 105000090 1
7697 7994 4 110000100 1
7698 7995 4 118000050 1
7699 7996 4 118000060 1
7700 7997 5 101000120 1
7701 7998 5 109000110 1
7702 7999 5 105000120 1
7703 8000 5 102000120 1
7704 8001 5 107000110 1
7705 8002 5 103000120 1
7706 8003 5 106000120 1
7707 8004 5 104000120 1
7708 8005 5 104000190 1
7709 8006 5 111000060 1
7710 8007 5 112000060 1
7711 8008 5 108000110 1
7712 8009 5 110000110 1
7713 8010 5 118000070 1
7714 8011 3 170004 3
7715 8012 3 180004 3
7716 8013 1 201000010 8
7717 8014 1 292000010 8
7718 8015 1 299000040 8
7719 8016 1 299000070 8
7720 8017 1 299000110 8
7721 8018 1 299000120 8
7722 8019 1 299000140 8
7723 8020 2 202000010 8
7724 8021 2 290000010 8
7725 8022 2 299000010 8
7726 8023 2 299000150 8
7727 8024 2 299000190 8
7728 8025 2 299000200 8
7729 8026 2 299000210 8
7730 8027 3 298000050 8
7731 8028 3 298000060 8
7732 8029 3 299000060 8
7733 8030 3 299000170 8
7734 8031 3 290000120 8
7735 8032 3 291000050 8
7736 8033 3 292000020 8
7737 8034 4 299000670 8
7738 8035 4 299000680 8
7739 8036 4 204000010 8
7740 8037 5 297000100 8
7741 8038 5 291000020 8
7742 8039 5 297000130 8
7743 8040 5 297000140 8
7744 8041 5 203000010 8
7745 8042 4 140000 3
7746 8043 5 150010 3
7747 8044 5 150020 3
7748 8045 5 150030 3
7749 8046 5 150040 3
7750 8048 3 101000050 1
7751 8049 3 101000060 1
7752 8050 3 101000080 1
7753 8051 3 101000040 1
7754 8052 3 109000060 1
7755 8053 3 109000070 1
7756 8054 3 109000080 1
7757 8055 3 105000060 1
7758 8056 3 105000070 1
7759 8057 3 105000080 1
7760 8058 3 104000050 1
7761 8059 3 106000050 1
7762 8060 3 102000060 1
7763 8061 3 102000070 1
7764 8062 3 102000080 1
7765 8063 3 103000050 1
7766 8064 3 105000050 1
7767 8065 3 107000060 1
7768 8066 3 107000070 1
7769 8067 3 107000080 1
7770 8068 3 108000050 1
7771 8069 3 109000050 1
7772 8070 3 103000060 1
7773 8071 3 103000070 1
7774 8072 3 103000080 1
7775 8073 3 110000050 1
7776 8074 3 106000060 1
7777 8075 3 106000070 1
7778 8076 3 106000080 1
7779 8077 3 101000070 1
7780 8078 3 110000060 1
7781 8079 3 104000060 1
7782 8080 3 104000070 1
7783 8081 3 104000080 1
7784 8082 3 102000050 1
7785 8083 3 104000170 1
7786 8084 3 104000260 1
7787 8085 3 111000010 1
7788 8086 3 111000020 1
7789 8087 3 111000030 1
7790 8088 3 112000020 1
7791 8089 3 112000030 1
7792 8090 3 108000060 1
7793 8091 3 108000070 1
7794 8092 3 108000080 1
7795 8093 3 107000050 1
7796 8094 3 112000010 1
7797 8095 3 110000070 1
7798 8096 3 110000080 1
7799 8097 3 118000020 1
7800 8098 3 118000030 1
7801 8099 3 118000040 1
7802 8100 4 101000090 1
7803 8101 4 101000100 1
7804 8102 4 101000110 1
7805 8103 4 109000100 1
7806 8104 4 105000100 1
7807 8105 4 105000110 1
7808 8106 4 108000090 1
7809 8107 4 110000090 1
7810 8108 4 102000100 1
7811 8109 4 102000110 1
7812 8110 4 106000090 1
7813 8111 4 109000090 1
7814 8112 4 107000100 1
7815 8113 4 103000090 1
7816 8114 4 102000090 1
7817 8115 4 103000100 1
7818 8116 4 106000100 1
7819 8117 4 106000110 1
7820 8118 4 104000090 1
7821 8119 4 104000100 1
7822 8120 4 104000110 1
7823 8121 4 107000090 1
7824 8122 4 104000180 1
7825 8123 4 111000040 1
7826 8124 4 112000040 1
7827 8125 4 108000100 1
7828 8126 4 105000090 1
7829 8127 4 110000100 1
7830 8128 4 118000050 1
7831 8129 4 118000060 1
7832 8130 5 101000120 1
7833 8131 5 109000110 1
7834 8132 5 105000120 1
7835 8133 5 102000120 1
7836 8134 5 107000110 1
7837 8135 5 103000120 1
7838 8136 5 106000120 1
7839 8137 5 104000120 1
7840 8138 5 104000190 1
7841 8139 5 111000060 1
7842 8140 5 112000060 1
7843 8141 5 108000110 1
7844 8142 5 110000110 1
7845 8143 5 118000070 1
7846 8144 3 170004 3
7847 8145 3 180004 3
7848 8146 1 201000010 8
7849 8147 1 292000010 8
7850 8148 1 299000040 8
7851 8149 1 299000070 8
7852 8150 1 299000110 8
7853 8151 1 299000120 8
7854 8152 1 299000140 8
7855 8153 2 202000010 8
7856 8154 2 290000010 8
7857 8155 2 299000010 8
7858 8156 2 299000150 8
7859 8157 2 299000190 8
7860 8158 2 299000200 8
7861 8159 2 299000210 8
7862 8160 3 298000050 8
7863 8161 3 298000060 8
7864 8162 3 299000060 8
7865 8163 3 299000170 8
7866 8164 3 290000120 8
7867 8165 3 291000050 8
7868 8166 3 292000020 8
7869 8167 4 299000670 8
7870 8168 4 299000680 8
7871 8169 4 204000010 8
7872 8170 5 297000100 8
7873 8171 5 291000020 8
7874 8172 5 297000130 8
7875 8173 5 297000140 8
7876 8174 5 203000010 8
7877 8175 4 140000 3
7878 8176 5 150010 3
7879 8177 5 150020 3
7880 8178 5 150030 3
7881 8179 5 150040 3
7882 8180 5 190000 3
7883 8181 5 200000 3
7884 8182 5 210000 3
7885 8184 3 102000060 1
7886 8185 3 102000070 1
7887 8186 3 102000080 1
7888 8187 3 103000050 1
7889 8188 3 105000050 1
7890 8189 3 107000060 1
7891 8190 3 107000070 1
7892 8191 3 107000080 1
7893 8192 3 108000050 1
7894 8193 3 109000050 1
7895 8194 3 103000060 1
7896 8195 3 103000070 1
7897 8196 3 103000080 1
7898 8197 3 110000050 1
7899 8198 4 102000100 1
7900 8199 4 102000110 1
7901 8200 4 106000090 1
7902 8201 4 109000090 1
7903 8202 4 107000100 1
7904 8203 4 103000090 1
7905 8204 4 102000090 1
7906 8205 4 103000100 1
7907 8206 5 102000120 1
7908 8207 5 107000110 1
7909 8208 5 103000120 1
7910 8209 1 102000000 2
7911 8210 2 102000001 2
7912 8211 3 102000002 2
7913 8212 4 102000003 2
7914 8213 5 102000004 2
7915 8214 1 105000000 2
7916 8215 2 105000001 2
7917 8216 3 105000002 2
7918 8217 4 105000003 2
7919 8218 5 105000004 2
7920 8219 1 112000000 2
7921 8220 2 112000001 2
7922 8221 3 112000002 2
7923 8222 4 112000003 2
7924 8223 5 112000004 2
7925 8224 3 170004 3
7926 8225 4 170005 3
7927 8226 3 180004 3
7928 8227 4 180005 3
7929 8228 4 140000 3
7930 8229 4 150010 3
7931 8230 4 150020 3
7932 8231 4 150030 3
7933 8232 4 150040 3
7934 8234 3 118000020 1
7935 8235 3 118000030 1
7936 8236 3 118000040 1
7937 8237 3 106000060 1
7938 8238 3 106000070 1
7939 8239 3 106000080 1
7940 8240 3 101000070 1
7941 8241 3 110000060 1
7942 8242 3 104000060 1
7943 8243 3 104000070 1
7944 8244 3 104000080 1
7945 8245 3 102000050 1
7946 8246 3 104000170 1
7947 8247 3 104000260 1
7948 8248 4 118000050 1
7949 8249 4 118000060 1
7950 8250 4 106000100 1
7951 8251 4 106000110 1
7952 8252 4 104000090 1
7953 8253 4 104000100 1
7954 8254 4 104000110 1
7955 8255 4 104000270 1
7956 8256 4 107000090 1
7957 8257 4 104000180 1
7958 8258 5 118000070 1
7959 8259 5 106000120 1
7960 8260 5 104000120 1
7961 8261 5 104000190 1
7962 8262 1 103000000 2
7963 8263 2 103000001 2
7964 8264 3 103000002 2
7965 8265 4 103000003 2
7966 8266 5 103000004 2
7967 8267 1 111000000 2
7968 8268 2 111000001 2
7969 8269 3 111000002 2
7970 8270 4 111000003 2
7971 8271 5 111000004 2
7972 8272 1 115000000 2
7973 8273 2 115000001 2
7974 8274 3 115000002 2
7975 8275 4 115000003 2
7976 8276 5 115000004 2
7977 8277 4 110024 3
7978 8278 4 110034 3
7979 8279 4 110044 3
7980 8280 4 110054 3
7981 8281 3 110060 3
7982 8282 3 110070 3
7983 8283 3 110080 3
7984 8284 3 110090 3
7985 8285 3 110100 3
7986 8286 3 110110 3
7987 8287 3 110120 3
7988 8288 3 110130 3
7989 8289 3 110140 3
7990 8290 3 110150 3
7991 8291 3 110160 3
7992 8292 3 110170 3
7993 8293 3 110180 3
7994 8294 3 110190 3
7995 8295 3 110200 3
7996 8296 3 110210 3
7997 8297 3 110220 3
7998 8298 3 110230 3
7999 8299 3 110240 3
8000 8300 3 110250 3
8001 8301 3 110260 3
8002 8302 3 110270 3
8003 8303 3 110620 3
8004 8304 3 110670 3
8005 8305 4 140000 3
8006 8306 4 150010 3
8007 8307 4 150020 3
8008 8308 4 150030 3
8009 8309 4 150040 3
8010 8311 3 111000010 1
8011 8312 3 111000020 1
8012 8313 3 111000030 1
8013 8314 3 112000020 1
8014 8315 3 112000030 1
8015 8316 3 108000060 1
8016 8317 3 108000070 1
8017 8318 3 108000080 1
8018 8319 3 107000050 1
8019 8320 3 112000010 1
8020 8321 3 110000070 1
8021 8322 3 110000080 1
8022 8323 4 111000040 1
8023 8324 4 112000040 1
8024 8325 4 108000100 1
8025 8326 4 105000090 1
8026 8327 4 110000100 1
8027 8328 5 111000060 1
8028 8329 5 112000060 1
8029 8330 5 108000110 1
8030 8331 5 110000110 1
8031 8332 1 108000000 2
8032 8333 2 108000001 2
8033 8334 3 108000002 2
8034 8335 4 108000003 2
8035 8336 5 108000004 2
8036 8337 1 107000000 2
8037 8338 2 107000001 2
8038 8339 3 107000002 2
8039 8340 4 107000003 2
8040 8341 5 107000004 2
8041 8342 1 120000000 2
8042 8343 2 120000001 2
8043 8344 3 120000002 2
8044 8345 4 120000003 2
8045 8346 5 120000004 2
8046 8347 4 120024 3
8047 8348 4 120034 3
8048 8349 4 120044 3
8049 8350 4 120054 3
8050 8351 3 120241 3
8051 8352 3 120251 3
8052 8353 3 120261 3
8053 8354 3 120271 3
8054 8355 3 120300 3
8055 8356 3 120310 3
8056 8357 3 120320 3
8057 8358 3 120330 3
8058 8359 3 120340 3
8059 8360 3 120350 3
8060 8361 3 120360 3
8061 8362 3 120370 3
8062 8363 3 120380 3
8063 8364 3 120390 3
8064 8365 3 120400 3
8065 8366 3 120410 3
8066 8367 3 120420 3
8067 8368 3 120430 3
8068 8369 3 120450 3
8069 8370 3 120460 3
8070 8371 3 120550 3
8071 8372 3 120560 3
8072 8373 3 120570 3
8073 8374 3 120990 3
8074 8375 3 121000 3
8075 8376 3 121010 3
8076 8377 3 121020 3
8077 8378 4 140000 3
8078 8379 4 150010 3
8079 8380 4 150020 3
8080 8381 4 150030 3
8081 8382 4 150040 3
8082 8384 3 101000050 1
8083 8385 3 101000060 1
8084 8386 3 101000080 1
8085 8387 3 101000040 1
8086 8388 3 109000060 1
8087 8389 3 109000070 1
8088 8390 3 109000080 1
8089 8391 3 105000060 1
8090 8392 3 105000070 1
8091 8393 3 105000080 1
8092 8394 3 104000050 1
8093 8395 3 106000050 1
8094 8396 4 101000090 1
8095 8397 4 101000100 1
8096 8398 4 101000110 1
8097 8399 4 109000100 1
8098 8400 4 105000100 1
8099 8401 4 105000110 1
8100 8402 4 108000090 1
8101 8403 4 110000090 1
8102 8404 5 101000120 1
8103 8405 5 109000110 1
8104 8406 5 105000120 1
8105 8407 1 101000000 2
8106 8408 2 101000001 2
8107 8409 3 101000002 2
8108 8410 4 101000008 2
8109 8411 5 101000004 2
8110 8412 1 109000000 2
8111 8413 2 109000001 2
8112 8414 3 109000002 2
8113 8415 4 109000003 2
8114 8416 5 109000004 2
8115 8417 4 130024 3
8116 8418 4 130034 3
8117 8419 4 130044 3
8118 8420 4 130054 3
8119 8421 3 130060 3
8120 8422 3 130070 3
8121 8423 3 130080 3
8122 8424 3 130090 3
8123 8425 3 130100 3
8124 8426 3 130110 3
8125 8427 3 130120 3
8126 8428 3 130130 3
8127 8429 3 130140 3
8128 8430 3 130150 3
8129 8431 3 130160 3
8130 8432 3 130170 3
8131 8433 3 130180 3
8132 8434 3 130190 3
8133 8435 3 130200 3
8134 8436 3 130420 3
8135 8437 3 130510 3
8136 8438 3 130520 3
8137 8439 3 130531 3
8138 8440 3 130540 3
8139 8441 3 130660 3
8140 8442 3 130790 3
8141 8443 3 130800 3
8142 8444 3 131130 3
8143 8445 4 140000 3
8144 8446 4 150010 3
8145 8447 4 150020 3
8146 8448 4 150030 3
8147 8449 4 150040 3
8148 8451 1 101000000 2
8149 8452 2 101000001 2
8150 8453 3 101000002 2
8151 8454 4 101000008 2
8152 8455 5 101000004 2
8153 8456 1 102000000 2
8154 8457 2 102000001 2
8155 8458 3 102000002 2
8156 8459 4 102000003 2
8157 8460 5 102000004 2
8158 8461 1 103000000 2
8159 8462 2 103000001 2
8160 8463 3 103000002 2
8161 8464 4 103000003 2
8162 8465 5 103000004 2
8163 8466 1 105000000 2
8164 8467 2 105000001 2
8165 8468 3 105000002 2
8166 8469 4 105000003 2
8167 8470 5 105000004 2
8168 8471 1 108000000 2
8169 8472 2 108000001 2
8170 8473 3 108000002 2
8171 8474 4 108000003 2
8172 8475 5 108000004 2
8173 8476 1 109000000 2
8174 8477 2 109000001 2
8175 8478 3 109000002 2
8176 8479 4 109000003 2
8177 8480 5 109000004 2
8178 8481 1 111000000 2
8179 8482 2 111000001 2
8180 8483 3 111000002 2
8181 8484 4 111000003 2
8182 8485 5 111000004 2
8183 8486 1 112000000 2
8184 8487 2 112000001 2
8185 8488 3 112000002 2
8186 8489 4 112000003 2
8187 8490 5 112000004 2
8188 8491 1 120000000 2
8189 8492 2 120000001 2
8190 8493 3 120000002 2
8191 8494 4 120000003 2
8192 8495 5 120000004 2
8193 8496 1 101000010 1
8194 8497 2 101000020 1
8195 8498 2 101000030 1
8196 8499 3 101000040 1
8197 8500 3 101000050 1
8198 8501 3 101000060 1
8199 8502 3 101000070 1
8200 8503 3 101000080 1
8201 8504 1 102000010 1
8202 8505 2 102000020 1
8203 8506 2 102000030 1
8204 8507 2 102000040 1
8205 8508 3 102000050 1
8206 8509 3 102000060 1
8207 8510 3 102000070 1
8208 8511 3 102000080 1
8209 8512 1 103000010 1
8210 8513 2 103000020 1
8211 8514 2 103000030 1
8212 8515 2 103000040 1
8213 8516 3 103000050 1
8214 8517 3 103000060 1
8215 8518 3 103000070 1
8216 8519 3 103000080 1
8217 8520 1 104000010 1
8218 8521 2 104000020 1
8219 8522 2 104000030 1
8220 8523 2 104000040 1
8221 8524 3 104000050 1
8222 8525 3 104000060 1
8223 8526 3 104000070 1
8224 8527 3 104000080 1
8225 8528 1 105000010 1
8226 8529 2 105000020 1
8227 8530 2 105000030 1
8228 8531 2 105000040 1
8229 8532 3 105000050 1
8230 8533 3 105000060 1
8231 8534 3 105000070 1
8232 8535 3 105000080 1
8233 8536 1 106000010 1
8234 8537 2 106000020 1
8235 8538 2 106000030 1
8236 8539 2 106000040 1
8237 8540 3 106000050 1
8238 8541 3 106000060 1
8239 8542 3 106000070 1
8240 8543 3 106000080 1
8241 8544 1 107000010 1
8242 8545 2 107000020 1
8243 8546 2 107000030 1
8244 8547 2 107000040 1
8245 8548 3 107000050 1
8246 8549 3 107000060 1
8247 8550 3 107000070 1
8248 8551 3 107000080 1
8249 8552 1 108000010 1
8250 8553 2 108000020 1
8251 8554 2 108000030 1
8252 8555 2 108000040 1
8253 8556 3 108000050 1
8254 8557 3 108000060 1
8255 8558 3 108000070 1
8256 8559 3 108000080 1
8257 8560 2 180000 3
8258 8561 2 170002 3
8259 8562 3 170003 3
8260 8563 4 170004 3
8261 8565 1 101000000 2
8262 8566 2 101000001 2
8263 8567 3 101000002 2
8264 8568 4 101000008 2
8265 8569 5 101000004 2
8266 8570 1 102000000 2
8267 8571 2 102000001 2
8268 8572 3 102000002 2
8269 8573 4 102000003 2
8270 8574 5 102000004 2
8271 8575 1 103000000 2
8272 8576 2 103000001 2
8273 8577 3 103000002 2
8274 8578 4 103000003 2
8275 8579 5 103000004 2
8276 8580 1 105000000 2
8277 8581 2 105000001 2
8278 8582 3 105000002 2
8279 8583 4 105000003 2
8280 8584 5 105000004 2
8281 8585 1 108000000 2
8282 8586 2 108000001 2
8283 8587 3 108000002 2
8284 8588 4 108000003 2
8285 8589 5 108000004 2
8286 8590 1 109000000 2
8287 8591 2 109000001 2
8288 8592 3 109000002 2
8289 8593 4 109000003 2
8290 8594 5 109000004 2
8291 8595 1 111000000 2
8292 8596 2 111000001 2
8293 8597 3 111000002 2
8294 8598 4 111000003 2
8295 8599 5 111000004 2
8296 8600 1 112000000 2
8297 8601 2 112000001 2
8298 8602 3 112000002 2
8299 8603 4 112000003 2
8300 8604 5 112000004 2
8301 8605 1 120000000 2
8302 8606 2 120000001 2
8303 8607 3 120000002 2
8304 8608 4 120000003 2
8305 8609 5 120000004 2
8306 8610 1 101000010 1
8307 8611 2 101000020 1
8308 8612 2 101000030 1
8309 8613 3 101000040 1
8310 8614 3 101000050 1
8311 8615 3 101000060 1
8312 8616 3 101000070 1
8313 8617 3 101000080 1
8314 8618 1 102000010 1
8315 8619 2 102000020 1
8316 8620 2 102000030 1
8317 8621 2 102000040 1
8318 8622 3 102000050 1
8319 8623 3 102000060 1
8320 8624 3 102000070 1
8321 8625 3 102000080 1
8322 8626 1 103000010 1
8323 8627 2 103000020 1
8324 8628 2 103000030 1
8325 8629 2 103000040 1
8326 8630 3 103000050 1
8327 8631 3 103000060 1
8328 8632 3 103000070 1
8329 8633 3 103000080 1
8330 8634 1 104000010 1
8331 8635 2 104000020 1
8332 8636 2 104000030 1
8333 8637 2 104000040 1
8334 8638 3 104000050 1
8335 8639 3 104000060 1
8336 8640 3 104000070 1
8337 8641 3 104000080 1
8338 8642 1 105000010 1
8339 8643 2 105000020 1
8340 8644 2 105000030 1
8341 8645 2 105000040 1
8342 8646 3 105000050 1
8343 8647 3 105000060 1
8344 8648 3 105000070 1
8345 8649 3 105000080 1
8346 8650 1 106000010 1
8347 8651 2 106000020 1
8348 8652 2 106000030 1
8349 8653 2 106000040 1
8350 8654 3 106000050 1
8351 8655 3 106000060 1
8352 8656 3 106000070 1
8353 8657 3 106000080 1
8354 8658 1 107000010 1
8355 8659 2 107000020 1
8356 8660 2 107000030 1
8357 8661 2 107000040 1
8358 8662 3 107000050 1
8359 8663 3 107000060 1
8360 8664 3 107000070 1
8361 8665 3 107000080 1
8362 8666 1 108000010 1
8363 8667 2 108000020 1
8364 8668 2 108000030 1
8365 8669 2 108000040 1
8366 8670 3 108000050 1
8367 8671 3 108000060 1
8368 8672 3 108000070 1
8369 8673 3 108000080 1
8370 8674 2 180000 3
8371 8675 2 170002 3
8372 8676 3 170003 3
8373 8677 4 170004 3
8374 8679 1 101000000 2
8375 8680 2 101000001 2
8376 8681 3 101000002 2
8377 8682 4 101000008 2
8378 8683 5 101000004 2
8379 8684 1 102000000 2
8380 8685 2 102000001 2
8381 8686 3 102000002 2
8382 8687 4 102000003 2
8383 8688 5 102000004 2
8384 8689 1 103000000 2
8385 8690 2 103000001 2
8386 8691 3 103000002 2
8387 8692 4 103000003 2
8388 8693 5 103000004 2
8389 8694 1 105000000 2
8390 8695 2 105000001 2
8391 8696 3 105000002 2
8392 8697 4 105000003 2
8393 8698 5 105000004 2
8394 8699 1 108000000 2
8395 8700 2 108000001 2
8396 8701 3 108000002 2
8397 8702 4 108000003 2
8398 8703 5 108000004 2
8399 8704 1 109000000 2
8400 8705 2 109000001 2
8401 8706 3 109000002 2
8402 8707 4 109000003 2
8403 8708 5 109000004 2
8404 8709 1 111000000 2
8405 8710 2 111000001 2
8406 8711 3 111000002 2
8407 8712 4 111000003 2
8408 8713 5 111000004 2
8409 8714 1 112000000 2
8410 8715 2 112000001 2
8411 8716 3 112000002 2
8412 8717 4 112000003 2
8413 8718 5 112000004 2
8414 8719 1 120000000 2
8415 8720 2 120000001 2
8416 8721 3 120000002 2
8417 8722 4 120000003 2
8418 8723 5 120000004 2
8419 8724 1 101000010 1
8420 8725 2 101000020 1
8421 8726 2 101000030 1
8422 8727 3 101000040 1
8423 8728 3 101000050 1
8424 8729 3 101000060 1
8425 8730 3 101000070 1
8426 8731 3 101000080 1
8427 8732 1 102000010 1
8428 8733 2 102000020 1
8429 8734 2 102000030 1
8430 8735 2 102000040 1
8431 8736 3 102000050 1
8432 8737 3 102000060 1
8433 8738 3 102000070 1
8434 8739 3 102000080 1
8435 8740 1 103000010 1
8436 8741 2 103000020 1
8437 8742 2 103000030 1
8438 8743 2 103000040 1
8439 8744 3 103000050 1
8440 8745 3 103000060 1
8441 8746 3 103000070 1
8442 8747 3 103000080 1
8443 8748 1 104000010 1
8444 8749 2 104000020 1
8445 8750 2 104000030 1
8446 8751 2 104000040 1
8447 8752 3 104000050 1
8448 8753 3 104000060 1
8449 8754 3 104000070 1
8450 8755 3 104000080 1
8451 8756 1 105000010 1
8452 8757 2 105000020 1
8453 8758 2 105000030 1
8454 8759 2 105000040 1
8455 8760 3 105000050 1
8456 8761 3 105000060 1
8457 8762 3 105000070 1
8458 8763 3 105000080 1
8459 8764 1 106000010 1
8460 8765 2 106000020 1
8461 8766 2 106000030 1
8462 8767 2 106000040 1
8463 8768 3 106000050 1
8464 8769 3 106000060 1
8465 8770 3 106000070 1
8466 8771 3 106000080 1
8467 8772 1 107000010 1
8468 8773 2 107000020 1
8469 8774 2 107000030 1
8470 8775 2 107000040 1
8471 8776 3 107000050 1
8472 8777 3 107000060 1
8473 8778 3 107000070 1
8474 8779 3 107000080 1
8475 8780 1 108000010 1
8476 8781 2 108000020 1
8477 8782 2 108000030 1
8478 8783 2 108000040 1
8479 8784 3 108000050 1
8480 8785 3 108000060 1
8481 8786 3 108000070 1
8482 8787 3 108000080 1
8483 8788 2 180001 3
8484 8789 2 170002 3
8485 8790 3 170003 3
8486 8791 4 170004 3
8487 8793 1 101000000 2
8488 8794 2 101000001 2
8489 8795 3 101000002 2
8490 8796 4 101000008 2
8491 8797 5 101000004 2
8492 8798 1 102000000 2
8493 8799 2 102000001 2
8494 8800 3 102000002 2
8495 8801 4 102000003 2
8496 8802 5 102000004 2
8497 8803 1 103000000 2
8498 8804 2 103000001 2
8499 8805 3 103000002 2
8500 8806 4 103000003 2
8501 8807 5 103000004 2
8502 8808 1 105000000 2
8503 8809 2 105000001 2
8504 8810 3 105000002 2
8505 8811 4 105000003 2
8506 8812 5 105000004 2
8507 8813 1 108000000 2
8508 8814 2 108000001 2
8509 8815 3 108000002 2
8510 8816 4 108000003 2
8511 8817 5 108000004 2
8512 8818 1 109000000 2
8513 8819 2 109000001 2
8514 8820 3 109000002 2
8515 8821 4 109000003 2
8516 8822 5 109000004 2
8517 8823 1 111000000 2
8518 8824 2 111000001 2
8519 8825 3 111000002 2
8520 8826 4 111000003 2
8521 8827 5 111000004 2
8522 8828 1 112000000 2
8523 8829 2 112000001 2
8524 8830 3 112000002 2
8525 8831 4 112000003 2
8526 8832 5 112000004 2
8527 8833 1 120000000 2
8528 8834 2 120000001 2
8529 8835 3 120000002 2
8530 8836 4 120000003 2
8531 8837 5 120000004 2
8532 8838 1 101000010 1
8533 8839 2 101000020 1
8534 8840 2 101000030 1
8535 8841 3 101000040 1
8536 8842 3 101000050 1
8537 8843 3 101000060 1
8538 8844 3 101000070 1
8539 8845 3 101000080 1
8540 8846 1 102000010 1
8541 8847 2 102000020 1
8542 8848 2 102000030 1
8543 8849 2 102000040 1
8544 8850 3 102000050 1
8545 8851 3 102000060 1
8546 8852 3 102000070 1
8547 8853 3 102000080 1
8548 8854 1 103000010 1
8549 8855 2 103000020 1
8550 8856 2 103000030 1
8551 8857 2 103000040 1
8552 8858 3 103000050 1
8553 8859 3 103000060 1
8554 8860 3 103000070 1
8555 8861 3 103000080 1
8556 8862 1 104000010 1
8557 8863 2 104000020 1
8558 8864 2 104000030 1
8559 8865 2 104000040 1
8560 8866 3 104000050 1
8561 8867 3 104000060 1
8562 8868 3 104000070 1
8563 8869 3 104000080 1
8564 8870 1 105000010 1
8565 8871 2 105000020 1
8566 8872 2 105000030 1
8567 8873 2 105000040 1
8568 8874 3 105000050 1
8569 8875 3 105000060 1
8570 8876 3 105000070 1
8571 8877 3 105000080 1
8572 8878 1 106000010 1
8573 8879 2 106000020 1
8574 8880 2 106000030 1
8575 8881 2 106000040 1
8576 8882 3 106000050 1
8577 8883 3 106000060 1
8578 8884 3 106000070 1
8579 8885 3 106000080 1
8580 8886 1 107000010 1
8581 8887 2 107000020 1
8582 8888 2 107000030 1
8583 8889 2 107000040 1
8584 8890 3 107000050 1
8585 8891 3 107000060 1
8586 8892 3 107000070 1
8587 8893 3 107000080 1
8588 8894 1 108000010 1
8589 8895 2 108000020 1
8590 8896 2 108000030 1
8591 8897 2 108000040 1
8592 8898 3 108000050 1
8593 8899 3 108000060 1
8594 8900 3 108000070 1
8595 8901 3 108000080 1
8596 8902 1 109000010 1
8597 8903 2 109000020 1
8598 8904 2 109000030 1
8599 8905 2 109000040 1
8600 8906 3 109000050 1
8601 8907 3 109000060 1
8602 8908 3 109000070 1
8603 8909 3 109000080 1
8604 8910 2 180001 3
8605 8911 2 170002 3
8606 8912 3 170003 3
8607 8913 4 170004 3
8608 8915 1 101000000 2
8609 8916 2 101000001 2
8610 8917 3 101000002 2
8611 8918 4 101000008 2
8612 8919 5 101000004 2
8613 8920 1 102000000 2
8614 8921 2 102000001 2
8615 8922 3 102000002 2
8616 8923 4 102000003 2
8617 8924 5 102000004 2
8618 8925 1 103000000 2
8619 8926 2 103000001 2
8620 8927 3 103000002 2
8621 8928 4 103000003 2
8622 8929 5 103000004 2
8623 8930 1 105000000 2
8624 8931 2 105000001 2
8625 8932 3 105000002 2
8626 8933 4 105000003 2
8627 8934 5 105000004 2
8628 8935 1 107000000 2
8629 8936 2 107000001 2
8630 8937 3 107000002 2
8631 8938 4 107000003 2
8632 8939 5 107000004 2
8633 8940 1 108000000 2
8634 8941 2 108000001 2
8635 8942 3 108000002 2
8636 8943 4 108000003 2
8637 8944 5 108000004 2
8638 8945 1 109000000 2
8639 8946 2 109000001 2
8640 8947 3 109000002 2
8641 8948 4 109000003 2
8642 8949 5 109000004 2
8643 8950 1 111000000 2
8644 8951 2 111000001 2
8645 8952 3 111000002 2
8646 8953 4 111000003 2
8647 8954 5 111000004 2
8648 8955 1 112000000 2
8649 8956 2 112000001 2
8650 8957 3 112000002 2
8651 8958 4 112000003 2
8652 8959 5 112000004 2
8653 8960 1 120000000 2
8654 8961 2 120000001 2
8655 8962 3 120000002 2
8656 8963 4 120000003 2
8657 8964 5 120000004 2
8658 8965 1 101000010 1
8659 8966 2 101000020 1
8660 8967 2 101000030 1
8661 8968 3 101000040 1
8662 8969 3 101000050 1
8663 8970 3 101000060 1
8664 8971 3 101000070 1
8665 8972 3 101000080 1
8666 8973 1 102000010 1
8667 8974 2 102000020 1
8668 8975 2 102000030 1
8669 8976 2 102000040 1
8670 8977 3 102000050 1
8671 8978 3 102000060 1
8672 8979 3 102000070 1
8673 8980 3 102000080 1
8674 8981 1 103000010 1
8675 8982 2 103000020 1
8676 8983 2 103000030 1
8677 8984 2 103000040 1
8678 8985 3 103000050 1
8679 8986 3 103000060 1
8680 8987 3 103000070 1
8681 8988 3 103000080 1
8682 8989 1 104000010 1
8683 8990 2 104000020 1
8684 8991 2 104000030 1
8685 8992 2 104000040 1
8686 8993 3 104000050 1
8687 8994 3 104000060 1
8688 8995 3 104000070 1
8689 8996 3 104000080 1
8690 8997 1 105000010 1
8691 8998 2 105000020 1
8692 8999 2 105000030 1
8693 9000 2 105000040 1
8694 9001 3 105000050 1
8695 9002 3 105000060 1
8696 9003 3 105000070 1
8697 9004 3 105000080 1
8698 9005 1 106000010 1
8699 9006 2 106000020 1
8700 9007 2 106000030 1
8701 9008 2 106000040 1
8702 9009 3 106000050 1
8703 9010 3 106000060 1
8704 9011 3 106000070 1
8705 9012 3 106000080 1
8706 9013 1 107000010 1
8707 9014 2 107000020 1
8708 9015 2 107000030 1
8709 9016 2 107000040 1
8710 9017 3 107000050 1
8711 9018 3 107000060 1
8712 9019 3 107000070 1
8713 9020 3 107000080 1
8714 9021 1 108000010 1
8715 9022 2 108000020 1
8716 9023 2 108000030 1
8717 9024 2 108000040 1
8718 9025 3 108000050 1
8719 9026 3 108000060 1
8720 9027 3 108000070 1
8721 9028 3 108000080 1
8722 9029 1 109000010 1
8723 9030 2 109000020 1
8724 9031 2 109000030 1
8725 9032 2 109000040 1
8726 9033 3 109000050 1
8727 9034 3 109000060 1
8728 9035 3 109000070 1
8729 9036 3 109000080 1
8730 9037 1 110000010 1
8731 9038 2 110000020 1
8732 9039 2 110000030 1
8733 9040 2 110000040 1
8734 9041 3 110000050 1
8735 9042 3 110000060 1
8736 9043 3 110000070 1
8737 9044 3 110000080 1
8738 9045 2 180001 3
8739 9046 2 170002 3
8740 9047 3 170003 3
8741 9048 4 170004 3
8742 9050 1 101000010 1
8743 9051 1 102000010 1
8744 9052 1 103000010 1
8745 9053 1 104000010 1
8746 9054 1 105000010 1
8747 9055 1 106000010 1
8748 9056 1 107000010 1
8749 9057 1 108000010 1
8750 9058 1 109000010 1
8751 9059 1 110000010 1
8752 9060 2 101000020 1
8753 9061 2 101000030 1
8754 9062 2 102000020 1
8755 9063 2 102000030 1
8756 9064 2 102000040 1
8757 9065 2 103000020 1
8758 9066 2 103000030 1
8759 9067 2 103000040 1
8760 9068 2 104000020 1
8761 9069 2 104000030 1
8762 9070 2 104000040 1
8763 9071 2 105000020 1
8764 9072 2 105000030 1
8765 9073 2 105000040 1
8766 9074 2 106000020 1
8767 9075 2 106000030 1
8768 9076 2 106000040 1
8769 9077 2 107000020 1
8770 9078 2 107000030 1
8771 9079 2 107000040 1
8772 9080 2 108000020 1
8773 9081 2 108000030 1
8774 9082 2 108000040 1
8775 9083 2 109000020 1
8776 9084 2 109000030 1
8777 9085 2 109000040 1
8778 9086 2 110000020 1
8779 9087 2 110000030 1
8780 9088 2 110000040 1
8781 9089 2 118000010 1
8782 9090 3 101000050 1
8783 9091 3 101000060 1
8784 9092 3 101000080 1
8785 9093 3 101000040 1
8786 9094 3 109000060 1
8787 9095 3 109000070 1
8788 9096 3 109000080 1
8789 9097 3 105000060 1
8790 9098 3 105000070 1
8791 9099 3 105000080 1
8792 9100 3 104000050 1
8793 9101 3 106000050 1
8794 9102 3 102000060 1
8795 9103 3 102000070 1
8796 9104 3 102000080 1
8797 9105 3 103000050 1
8798 9106 3 105000050 1
8799 9107 3 107000060 1
8800 9108 3 107000070 1
8801 9109 3 107000080 1
8802 9110 3 108000050 1
8803 9111 3 109000050 1
8804 9112 3 103000060 1
8805 9113 3 103000070 1
8806 9114 3 103000080 1
8807 9115 3 110000050 1
8808 9116 3 106000060 1
8809 9117 3 106000070 1
8810 9118 3 106000080 1
8811 9119 3 101000070 1
8812 9120 3 110000060 1
8813 9121 3 104000060 1
8814 9122 3 104000070 1
8815 9123 3 104000080 1
8816 9124 3 102000050 1
8817 9125 3 104000170 1
8818 9126 3 104000260 1
8819 9127 3 111000010 1
8820 9128 3 111000020 1
8821 9129 3 111000030 1
8822 9130 3 112000020 1
8823 9131 3 112000030 1
8824 9132 3 108000060 1
8825 9133 3 108000070 1
8826 9134 3 108000080 1
8827 9135 3 107000050 1
8828 9136 3 112000010 1
8829 9137 3 110000070 1
8830 9138 3 110000080 1
8831 9139 3 118000020 1
8832 9140 3 118000030 1
8833 9141 3 118000040 1
8834 9142 4 101000090 1
8835 9143 4 101000100 1
8836 9144 4 101000110 1
8837 9145 4 109000100 1
8838 9146 4 105000100 1
8839 9147 4 105000110 1
8840 9148 4 108000090 1
8841 9149 4 110000090 1
8842 9150 4 102000100 1
8843 9151 4 102000110 1
8844 9152 4 106000090 1
8845 9153 4 109000090 1
8846 9154 4 107000100 1
8847 9155 4 103000090 1
8848 9156 4 102000090 1
8849 9157 4 103000100 1
8850 9158 4 106000100 1
8851 9159 4 106000110 1
8852 9160 4 104000090 1
8853 9161 4 104000100 1
8854 9162 4 104000110 1
8855 9163 4 107000090 1
8856 9164 4 104000180 1
8857 9165 4 111000040 1
8858 9166 4 112000040 1
8859 9167 4 108000100 1
8860 9168 4 105000090 1
8861 9169 4 110000100 1
8862 9170 4 118000050 1
8863 9171 4 118000060 1
8864 9172 5 101000120 1
8865 9173 5 109000110 1
8866 9174 5 105000120 1
8867 9175 5 102000120 1
8868 9176 5 107000110 1
8869 9177 5 103000120 1
8870 9178 5 106000120 1
8871 9179 5 104000120 1
8872 9180 5 104000190 1
8873 9181 5 111000060 1
8874 9182 5 112000060 1
8875 9183 5 108000110 1
8876 9184 5 110000110 1
8877 9185 5 118000070 1
8878 9186 1 201000010 8
8879 9187 1 292000010 8
8880 9188 1 299000040 8
8881 9189 1 299000070 8
8882 9190 1 299000110 8
8883 9191 1 299000120 8
8884 9192 1 299000140 8
8885 9193 2 202000010 8
8886 9194 2 290000010 8
8887 9195 2 299000010 8
8888 9196 2 299000150 8
8889 9197 2 299000190 8
8890 9198 2 299000200 8
8891 9199 2 299000210 8
8892 9200 3 298000050 8
8893 9201 3 298000060 8
8894 9202 3 299000060 8
8895 9203 3 299000170 8
8896 9204 3 290000120 8
8897 9205 3 291000050 8
8898 9206 3 292000020 8
8899 9207 4 299000670 8
8900 9208 4 299000680 8
8901 9209 4 204000010 8
8902 9210 4 209000040 8
8903 9211 5 297000100 8
8904 9212 5 291000020 8
8905 9213 5 297000130 8
8906 9214 5 297000140 8
8907 9215 5 203000010 8
8908 9216 5 206000030 8
8909 9217 1 170002 3
8910 9218 1 180002 3
8911 9219 2 170003 3
8912 9220 2 180003 3
8913 9221 3 170004 3
8914 9222 3 180004 3
8915 9223 4 140000 3
8916 9224 5 150010 3
8917 9225 5 150020 3
8918 9226 5 150030 3
8919 9227 5 150040 3
8920 9229 1 101000010 1
8921 9230 1 102000010 1
8922 9231 1 103000010 1
8923 9232 1 104000010 1
8924 9233 1 105000010 1
8925 9234 1 106000010 1
8926 9235 1 107000010 1
8927 9236 1 108000010 1
8928 9237 1 109000010 1
8929 9238 1 110000010 1
8930 9239 2 101000020 1
8931 9240 2 101000030 1
8932 9241 2 102000020 1
8933 9242 2 102000030 1
8934 9243 2 102000040 1
8935 9244 2 103000020 1
8936 9245 2 103000030 1
8937 9246 2 103000040 1
8938 9247 2 104000020 1
8939 9248 2 104000030 1
8940 9249 2 104000040 1
8941 9250 2 105000020 1
8942 9251 2 105000030 1
8943 9252 2 105000040 1
8944 9253 2 106000020 1
8945 9254 2 106000030 1
8946 9255 2 106000040 1
8947 9256 2 107000020 1
8948 9257 2 107000030 1
8949 9258 2 107000040 1
8950 9259 2 108000020 1
8951 9260 2 108000030 1
8952 9261 2 108000040 1
8953 9262 2 109000020 1
8954 9263 2 109000030 1
8955 9264 2 109000040 1
8956 9265 2 110000020 1
8957 9266 2 110000030 1
8958 9267 2 110000040 1
8959 9268 2 118000010 1
8960 9269 3 101000050 1
8961 9270 3 101000060 1
8962 9271 3 101000080 1
8963 9272 3 101000040 1
8964 9273 3 109000060 1
8965 9274 3 109000070 1
8966 9275 3 109000080 1
8967 9276 3 105000060 1
8968 9277 3 105000070 1
8969 9278 3 105000080 1
8970 9279 3 104000050 1
8971 9280 3 106000050 1
8972 9281 3 102000060 1
8973 9282 3 102000070 1
8974 9283 3 102000080 1
8975 9284 3 103000050 1
8976 9285 3 105000050 1
8977 9286 3 107000060 1
8978 9287 3 107000070 1
8979 9288 3 107000080 1
8980 9289 3 108000050 1
8981 9290 3 109000050 1
8982 9291 3 103000060 1
8983 9292 3 103000070 1
8984 9293 3 103000080 1
8985 9294 3 110000050 1
8986 9295 3 106000060 1
8987 9296 3 106000070 1
8988 9297 3 106000080 1
8989 9298 3 101000070 1
8990 9299 3 110000060 1
8991 9300 3 104000060 1
8992 9301 3 104000070 1
8993 9302 3 104000080 1
8994 9303 3 102000050 1
8995 9304 3 104000170 1
8996 9305 3 104000260 1
8997 9306 3 111000010 1
8998 9307 3 111000020 1
8999 9308 3 111000030 1
9000 9309 3 112000020 1
9001 9310 3 112000030 1
9002 9311 3 108000060 1
9003 9312 3 108000070 1
9004 9313 3 108000080 1
9005 9314 3 107000050 1
9006 9315 3 112000010 1
9007 9316 3 110000070 1
9008 9317 3 110000080 1
9009 9318 3 118000020 1
9010 9319 3 118000030 1
9011 9320 3 118000040 1
9012 9321 4 101000090 1
9013 9322 4 101000100 1
9014 9323 4 101000110 1
9015 9324 4 109000100 1
9016 9325 4 105000100 1
9017 9326 4 105000110 1
9018 9327 4 108000090 1
9019 9328 4 110000090 1
9020 9329 4 102000100 1
9021 9330 4 102000110 1
9022 9331 4 106000090 1
9023 9332 4 109000090 1
9024 9333 4 107000100 1
9025 9334 4 103000090 1
9026 9335 4 102000090 1
9027 9336 4 103000100 1
9028 9337 4 106000100 1
9029 9338 4 106000110 1
9030 9339 4 104000090 1
9031 9340 4 104000100 1
9032 9341 4 104000110 1
9033 9342 4 107000090 1
9034 9343 4 104000180 1
9035 9344 4 111000040 1
9036 9345 4 112000040 1
9037 9346 4 108000100 1
9038 9347 4 105000090 1
9039 9348 4 110000100 1
9040 9349 4 118000050 1
9041 9350 4 118000060 1
9042 9351 5 101000120 1
9043 9352 5 109000110 1
9044 9353 5 105000120 1
9045 9354 5 102000120 1
9046 9355 5 107000110 1
9047 9356 5 103000120 1
9048 9357 5 106000120 1
9049 9358 5 104000120 1
9050 9359 5 104000190 1
9051 9360 5 111000060 1
9052 9361 5 112000060 1
9053 9362 5 108000110 1
9054 9363 5 110000110 1
9055 9364 5 118000070 1
9056 9365 1 201000010 8
9057 9366 1 292000010 8
9058 9367 1 299000040 8
9059 9368 1 299000070 8
9060 9369 1 299000110 8
9061 9370 1 299000120 8
9062 9371 1 299000140 8
9063 9372 2 202000010 8
9064 9373 2 290000010 8
9065 9374 2 299000010 8
9066 9375 2 299000150 8
9067 9376 2 299000190 8
9068 9377 2 299000200 8
9069 9378 2 299000210 8
9070 9379 3 298000050 8
9071 9380 3 298000060 8
9072 9381 3 299000060 8
9073 9382 3 299000170 8
9074 9383 3 290000120 8
9075 9384 3 291000050 8
9076 9385 3 292000020 8
9077 9386 4 299000670 8
9078 9387 4 299000680 8
9079 9388 4 204000010 8
9080 9389 4 209000040 8
9081 9390 5 297000100 8
9082 9391 5 291000020 8
9083 9392 5 297000130 8
9084 9393 5 297000140 8
9085 9394 5 203000010 8
9086 9395 5 206000030 8
9087 9396 2 170003 3
9088 9397 2 180003 3
9089 9398 3 170004 3
9090 9399 3 180004 3
9091 9400 4 140000 3
9092 9401 5 150010 3
9093 9402 5 150020 3
9094 9403 5 150030 3
9095 9404 5 150040 3
9096 9406 3 101000050 1
9097 9407 3 101000060 1
9098 9408 3 101000080 1
9099 9409 3 101000040 1
9100 9410 3 109000060 1
9101 9411 3 109000070 1
9102 9412 3 109000080 1
9103 9413 3 105000060 1
9104 9414 3 105000070 1
9105 9415 3 105000080 1
9106 9416 3 104000050 1
9107 9417 3 106000050 1
9108 9418 3 102000060 1
9109 9419 3 102000070 1
9110 9420 3 102000080 1
9111 9421 3 103000050 1
9112 9422 3 105000050 1
9113 9423 3 107000060 1
9114 9424 3 107000070 1
9115 9425 3 107000080 1
9116 9426 3 108000050 1
9117 9427 3 109000050 1
9118 9428 3 103000060 1
9119 9429 3 103000070 1
9120 9430 3 103000080 1
9121 9431 3 110000050 1
9122 9432 3 106000060 1
9123 9433 3 106000070 1
9124 9434 3 106000080 1
9125 9435 3 101000070 1
9126 9436 3 110000060 1
9127 9437 3 104000060 1
9128 9438 3 104000070 1
9129 9439 3 104000080 1
9130 9440 3 102000050 1
9131 9441 3 104000170 1
9132 9442 3 104000260 1
9133 9443 3 111000010 1
9134 9444 3 111000020 1
9135 9445 3 111000030 1
9136 9446 3 112000020 1
9137 9447 3 112000030 1
9138 9448 3 108000060 1
9139 9449 3 108000070 1
9140 9450 3 108000080 1
9141 9451 3 107000050 1
9142 9452 3 112000010 1
9143 9453 3 110000070 1
9144 9454 3 110000080 1
9145 9455 3 118000020 1
9146 9456 3 118000030 1
9147 9457 3 118000040 1
9148 9458 4 101000090 1
9149 9459 4 101000100 1
9150 9460 4 101000110 1
9151 9461 4 109000100 1
9152 9462 4 105000100 1
9153 9463 4 105000110 1
9154 9464 4 108000090 1
9155 9465 4 110000090 1
9156 9466 4 102000100 1
9157 9467 4 102000110 1
9158 9468 4 106000090 1
9159 9469 4 109000090 1
9160 9470 4 107000100 1
9161 9471 4 103000090 1
9162 9472 4 102000090 1
9163 9473 4 103000100 1
9164 9474 4 106000100 1
9165 9475 4 106000110 1
9166 9476 4 104000090 1
9167 9477 4 104000100 1
9168 9478 4 104000110 1
9169 9479 4 107000090 1
9170 9480 4 104000180 1
9171 9481 4 111000040 1
9172 9482 4 112000040 1
9173 9483 4 108000100 1
9174 9484 4 105000090 1
9175 9485 4 110000100 1
9176 9486 4 118000050 1
9177 9487 4 118000060 1
9178 9488 5 101000120 1
9179 9489 5 109000110 1
9180 9490 5 105000120 1
9181 9491 5 102000120 1
9182 9492 5 107000110 1
9183 9493 5 103000120 1
9184 9494 5 106000120 1
9185 9495 5 104000120 1
9186 9496 5 104000190 1
9187 9497 5 111000060 1
9188 9498 5 112000060 1
9189 9499 5 108000110 1
9190 9500 5 110000110 1
9191 9501 5 118000070 1
9192 9502 1 201000010 8
9193 9503 1 292000010 8
9194 9504 1 299000040 8
9195 9505 1 299000070 8
9196 9506 1 299000110 8
9197 9507 1 299000120 8
9198 9508 1 299000140 8
9199 9509 2 202000010 8
9200 9510 2 290000010 8
9201 9511 2 299000010 8
9202 9512 2 299000150 8
9203 9513 2 299000190 8
9204 9514 2 299000200 8
9205 9515 2 299000210 8
9206 9516 3 298000050 8
9207 9517 3 298000060 8
9208 9518 3 299000060 8
9209 9519 3 299000170 8
9210 9520 3 290000120 8
9211 9521 3 291000050 8
9212 9522 3 292000020 8
9213 9523 4 299000670 8
9214 9524 4 299000680 8
9215 9525 4 204000010 8
9216 9526 4 209000040 8
9217 9527 5 297000100 8
9218 9528 5 291000020 8
9219 9529 5 297000130 8
9220 9530 5 297000140 8
9221 9531 5 203000010 8
9222 9532 5 206000030 8
9223 9533 3 170004 3
9224 9534 3 180004 3
9225 9535 4 140000 3
9226 9536 5 150010 3
9227 9537 5 150020 3
9228 9538 5 150030 3
9229 9539 5 150040 3
9230 9541 3 101000050 1
9231 9542 3 101000060 1
9232 9543 3 101000080 1
9233 9544 3 101000040 1
9234 9545 3 109000060 1
9235 9546 3 109000070 1
9236 9547 3 109000080 1
9237 9548 3 105000060 1
9238 9549 3 105000070 1
9239 9550 3 105000080 1
9240 9551 3 104000050 1
9241 9552 3 106000050 1
9242 9553 3 102000060 1
9243 9554 3 102000070 1
9244 9555 3 102000080 1
9245 9556 3 103000050 1
9246 9557 3 105000050 1
9247 9558 3 107000060 1
9248 9559 3 107000070 1
9249 9560 3 107000080 1
9250 9561 3 108000050 1
9251 9562 3 109000050 1
9252 9563 3 103000060 1
9253 9564 3 103000070 1
9254 9565 3 103000080 1
9255 9566 3 110000050 1
9256 9567 3 106000060 1
9257 9568 3 106000070 1
9258 9569 3 106000080 1
9259 9570 3 101000070 1
9260 9571 3 110000060 1
9261 9572 3 104000060 1
9262 9573 3 104000070 1
9263 9574 3 104000080 1
9264 9575 3 102000050 1
9265 9576 3 104000170 1
9266 9577 3 104000260 1
9267 9578 3 111000010 1
9268 9579 3 111000020 1
9269 9580 3 111000030 1
9270 9581 3 112000020 1
9271 9582 3 112000030 1
9272 9583 3 108000060 1
9273 9584 3 108000070 1
9274 9585 3 108000080 1
9275 9586 3 107000050 1
9276 9587 3 112000010 1
9277 9588 3 110000070 1
9278 9589 3 110000080 1
9279 9590 3 118000020 1
9280 9591 3 118000030 1
9281 9592 3 118000040 1
9282 9593 4 101000090 1
9283 9594 4 101000100 1
9284 9595 4 101000110 1
9285 9596 4 109000100 1
9286 9597 4 105000100 1
9287 9598 4 105000110 1
9288 9599 4 108000090 1
9289 9600 4 110000090 1
9290 9601 4 102000100 1
9291 9602 4 102000110 1
9292 9603 4 106000090 1
9293 9604 4 109000090 1
9294 9605 4 107000100 1
9295 9606 4 103000090 1
9296 9607 4 102000090 1
9297 9608 4 103000100 1
9298 9609 4 106000100 1
9299 9610 4 106000110 1
9300 9611 4 104000090 1
9301 9612 4 104000100 1
9302 9613 4 104000110 1
9303 9614 4 107000090 1
9304 9615 4 104000180 1
9305 9616 4 111000040 1
9306 9617 4 112000040 1
9307 9618 4 108000100 1
9308 9619 4 105000090 1
9309 9620 4 110000100 1
9310 9621 4 118000050 1
9311 9622 4 118000060 1
9312 9623 5 101000120 1
9313 9624 5 109000110 1
9314 9625 5 105000120 1
9315 9626 5 102000120 1
9316 9627 5 107000110 1
9317 9628 5 103000120 1
9318 9629 5 106000120 1
9319 9630 5 104000120 1
9320 9631 5 104000190 1
9321 9632 5 111000060 1
9322 9633 5 112000060 1
9323 9634 5 108000110 1
9324 9635 5 110000110 1
9325 9636 5 118000070 1
9326 9637 1 201000010 8
9327 9638 1 292000010 8
9328 9639 1 299000040 8
9329 9640 1 299000070 8
9330 9641 1 299000110 8
9331 9642 1 299000120 8
9332 9643 1 299000140 8
9333 9644 2 202000010 8
9334 9645 2 290000010 8
9335 9646 2 299000010 8
9336 9647 2 299000150 8
9337 9648 2 299000190 8
9338 9649 2 299000200 8
9339 9650 2 299000210 8
9340 9651 3 298000050 8
9341 9652 3 298000060 8
9342 9653 3 299000060 8
9343 9654 3 299000170 8
9344 9655 3 290000120 8
9345 9656 3 291000050 8
9346 9657 3 292000020 8
9347 9658 4 299000670 8
9348 9659 4 299000680 8
9349 9660 4 204000010 8
9350 9661 4 209000040 8
9351 9662 5 297000100 8
9352 9663 5 291000020 8
9353 9664 5 297000130 8
9354 9665 5 297000140 8
9355 9666 5 203000010 8
9356 9667 5 206000030 8
9357 9668 3 170004 3
9358 9669 3 180004 3
9359 9670 4 140000 3
9360 9671 5 150010 3
9361 9672 5 150020 3
9362 9673 5 150030 3
9363 9674 5 150040 3
9364 9676 3 101000050 1
9365 9677 3 101000060 1
9366 9678 3 101000080 1
9367 9679 3 101000040 1
9368 9680 3 109000060 1
9369 9681 3 109000070 1
9370 9682 3 109000080 1
9371 9683 3 105000060 1
9372 9684 3 105000070 1
9373 9685 3 105000080 1
9374 9686 3 104000050 1
9375 9687 3 106000050 1
9376 9688 3 102000060 1
9377 9689 3 102000070 1
9378 9690 3 102000080 1
9379 9691 3 103000050 1
9380 9692 3 105000050 1
9381 9693 3 107000060 1
9382 9694 3 107000070 1
9383 9695 3 107000080 1
9384 9696 3 108000050 1
9385 9697 3 109000050 1
9386 9698 3 103000060 1
9387 9699 3 103000070 1
9388 9700 3 103000080 1
9389 9701 3 110000050 1
9390 9702 3 106000060 1
9391 9703 3 106000070 1
9392 9704 3 106000080 1
9393 9705 3 101000070 1
9394 9706 3 110000060 1
9395 9707 3 104000060 1
9396 9708 3 104000070 1
9397 9709 3 104000080 1
9398 9710 3 102000050 1
9399 9711 3 104000170 1
9400 9712 3 104000260 1
9401 9713 3 111000010 1
9402 9714 3 111000020 1
9403 9715 3 111000030 1
9404 9716 3 112000020 1
9405 9717 3 112000030 1
9406 9718 3 108000060 1
9407 9719 3 108000070 1
9408 9720 3 108000080 1
9409 9721 3 107000050 1
9410 9722 3 112000010 1
9411 9723 3 110000070 1
9412 9724 3 110000080 1
9413 9725 3 118000020 1
9414 9726 3 118000030 1
9415 9727 3 118000040 1
9416 9728 4 101000090 1
9417 9729 4 101000100 1
9418 9730 4 101000110 1
9419 9731 4 109000100 1
9420 9732 4 105000100 1
9421 9733 4 105000110 1
9422 9734 4 108000090 1
9423 9735 4 110000090 1
9424 9736 4 102000100 1
9425 9737 4 102000110 1
9426 9738 4 106000090 1
9427 9739 4 109000090 1
9428 9740 4 107000100 1
9429 9741 4 103000090 1
9430 9742 4 102000090 1
9431 9743 4 103000100 1
9432 9744 4 106000100 1
9433 9745 4 106000110 1
9434 9746 4 104000090 1
9435 9747 4 104000100 1
9436 9748 4 104000110 1
9437 9749 4 107000090 1
9438 9750 4 104000180 1
9439 9751 4 111000040 1
9440 9752 4 112000040 1
9441 9753 4 108000100 1
9442 9754 4 105000090 1
9443 9755 4 110000100 1
9444 9756 4 118000050 1
9445 9757 4 118000060 1
9446 9758 5 101000120 1
9447 9759 5 109000110 1
9448 9760 5 105000120 1
9449 9761 5 102000120 1
9450 9762 5 107000110 1
9451 9763 5 103000120 1
9452 9764 5 106000120 1
9453 9765 5 104000120 1
9454 9766 5 104000190 1
9455 9767 5 111000060 1
9456 9768 5 112000060 1
9457 9769 5 108000110 1
9458 9770 5 110000110 1
9459 9771 5 118000070 1
9460 9772 1 201000010 8
9461 9773 1 292000010 8
9462 9774 1 299000040 8
9463 9775 1 299000070 8
9464 9776 1 299000110 8
9465 9777 1 299000120 8
9466 9778 1 299000140 8
9467 9779 2 202000010 8
9468 9780 2 290000010 8
9469 9781 2 299000010 8
9470 9782 2 299000150 8
9471 9783 2 299000190 8
9472 9784 2 299000200 8
9473 9785 2 299000210 8
9474 9786 3 298000050 8
9475 9787 3 298000060 8
9476 9788 3 299000060 8
9477 9789 3 299000170 8
9478 9790 3 290000120 8
9479 9791 3 291000050 8
9480 9792 3 292000020 8
9481 9793 4 299000670 8
9482 9794 4 299000680 8
9483 9795 4 204000010 8
9484 9796 4 209000040 8
9485 9797 5 297000100 8
9486 9798 5 291000020 8
9487 9799 5 297000130 8
9488 9800 5 297000140 8
9489 9801 5 203000010 8
9490 9802 5 206000030 8
9491 9803 3 170004 3
9492 9804 3 180004 3
9493 9805 4 140000 3
9494 9806 5 150010 3
9495 9807 5 150020 3
9496 9808 5 150030 3
9497 9809 5 150040 3
9498 9810 5 190000 3
9499 9811 5 200000 3
9500 9812 5 210000 3
9501 9814 3 101000050 1
9502 9815 3 101000060 1
9503 9816 3 101000080 1
9504 9817 3 101000040 1
9505 9818 3 109000060 1
9506 9819 3 109000070 1
9507 9820 3 109000080 1
9508 9821 3 105000060 1
9509 9822 3 105000070 1
9510 9823 3 105000080 1
9511 9824 3 104000050 1
9512 9825 3 106000050 1
9513 9826 4 101000090 1
9514 9827 4 101000100 1
9515 9828 4 101000110 1
9516 9829 4 109000100 1
9517 9830 4 105000100 1
9518 9831 4 105000110 1
9519 9832 4 108000090 1
9520 9833 4 110000090 1
9521 9834 5 101000120 1
9522 9835 5 109000110 1
9523 9836 5 105000120 1
9524 9837 1 101000000 2
9525 9838 2 101000001 2
9526 9839 3 101000002 2
9527 9840 4 101000008 2
9528 9841 5 101000004 2
9529 9842 1 109000000 2
9530 9843 2 109000001 2
9531 9844 3 109000002 2
9532 9845 4 109000003 2
9533 9846 5 109000004 2
9534 9847 3 170004 3
9535 9848 4 170005 3
9536 9849 3 180004 3
9537 9850 4 180005 3
9538 9851 4 140000 3
9539 9852 4 150010 3
9540 9853 4 150020 3
9541 9854 4 150030 3
9542 9855 4 150040 3
9543 9857 3 102000060 1
9544 9858 3 102000070 1
9545 9859 3 102000080 1
9546 9860 3 103000050 1
9547 9861 3 105000050 1
9548 9862 3 107000060 1
9549 9863 3 107000070 1
9550 9864 3 107000080 1
9551 9865 3 108000050 1
9552 9866 3 109000050 1
9553 9867 3 103000060 1
9554 9868 3 103000070 1
9555 9869 3 103000080 1
9556 9870 3 110000050 1
9557 9871 4 102000100 1
9558 9872 4 102000350 1
9559 9873 4 102000110 1
9560 9874 4 106000090 1
9561 9875 4 109000090 1
9562 9876 4 107000100 1
9563 9877 4 103000090 1
9564 9878 4 102000090 1
9565 9879 4 103000100 1
9566 9880 5 102000120 1
9567 9881 5 107000110 1
9568 9882 5 103000120 1
9569 9883 1 102000000 2
9570 9884 2 102000001 2
9571 9885 3 102000002 2
9572 9886 4 102000003 2
9573 9887 5 102000004 2
9574 9888 1 105000000 2
9575 9889 2 105000001 2
9576 9890 3 105000002 2
9577 9891 4 105000003 2
9578 9892 5 105000004 2
9579 9893 1 112000000 2
9580 9894 2 112000001 2
9581 9895 3 112000002 2
9582 9896 4 112000003 2
9583 9897 5 112000004 2
9584 9898 4 110024 3
9585 9899 4 110034 3
9586 9900 4 110044 3
9587 9901 4 110054 3
9588 9902 3 110060 3
9589 9903 3 110070 3
9590 9904 3 110080 3
9591 9905 3 110090 3
9592 9906 3 110100 3
9593 9907 3 110110 3
9594 9908 3 110120 3
9595 9909 3 110130 3
9596 9910 3 110140 3
9597 9911 3 110150 3
9598 9912 3 110160 3
9599 9913 3 110170 3
9600 9914 3 110180 3
9601 9915 3 110190 3
9602 9916 3 110200 3
9603 9917 3 110210 3
9604 9918 3 110220 3
9605 9919 3 110230 3
9606 9920 3 110240 3
9607 9921 3 110250 3
9608 9922 3 110260 3
9609 9923 3 110270 3
9610 9924 3 110620 3
9611 9925 3 110670 3
9612 9926 4 140000 3
9613 9927 4 150010 3
9614 9928 4 150020 3
9615 9929 4 150030 3
9616 9930 4 150040 3
9617 9932 3 118000020 1
9618 9933 3 118000030 1
9619 9934 3 118000040 1
9620 9935 3 106000060 1
9621 9936 3 106000070 1
9622 9937 3 106000080 1
9623 9938 3 101000070 1
9624 9939 3 110000060 1
9625 9940 3 104000060 1
9626 9941 3 104000070 1
9627 9942 3 104000080 1
9628 9943 3 102000050 1
9629 9944 3 104000170 1
9630 9945 3 104000260 1
9631 9946 4 118000050 1
9632 9947 4 118000060 1
9633 9948 4 106000100 1
9634 9949 4 106000110 1
9635 9950 4 104000090 1
9636 9951 4 104000100 1
9637 9952 4 104000110 1
9638 9953 4 104000270 1
9639 9954 4 107000090 1
9640 9955 4 104000180 1
9641 9956 5 118000070 1
9642 9957 5 106000120 1
9643 9958 5 104000120 1
9644 9959 5 104000190 1
9645 9960 1 103000000 2
9646 9961 2 103000001 2
9647 9962 3 103000002 2
9648 9963 4 103000003 2
9649 9964 5 103000004 2
9650 9965 1 111000000 2
9651 9966 2 111000001 2
9652 9967 3 111000002 2
9653 9968 4 111000003 2
9654 9969 5 111000004 2
9655 9970 1 115000000 2
9656 9971 2 115000001 2
9657 9972 3 115000002 2
9658 9973 4 115000003 2
9659 9974 5 115000004 2
9660 9975 4 120024 3
9661 9976 4 120034 3
9662 9977 4 120044 3
9663 9978 4 120054 3
9664 9979 3 120241 3
9665 9980 3 120251 3
9666 9981 3 120261 3
9667 9982 3 120271 3
9668 9983 3 120300 3
9669 9984 3 120310 3
9670 9985 3 120320 3
9671 9986 3 120330 3
9672 9987 3 120340 3
9673 9988 3 120350 3
9674 9989 3 120360 3
9675 9990 3 120370 3
9676 9991 3 120380 3
9677 9992 3 120390 3
9678 9993 3 120400 3
9679 9994 3 120410 3
9680 9995 3 120420 3
9681 9996 3 120430 3
9682 9997 3 120450 3
9683 9998 3 120460 3
9684 9999 3 120550 3
9685 10000 3 120560 3
9686 10001 3 120570 3
9687 10002 3 120990 3
9688 10003 3 121000 3
9689 10004 3 121010 3
9690 10005 3 121020 3
9691 10006 4 140000 3
9692 10007 4 150010 3
9693 10008 4 150020 3
9694 10009 4 150030 3
9695 10010 4 150040 3
9696 10012 3 111000010 1
9697 10013 3 111000020 1
9698 10014 3 111000030 1
9699 10015 3 112000020 1
9700 10016 3 112000030 1
9701 10017 3 108000060 1
9702 10018 3 108000070 1
9703 10019 3 108000080 1
9704 10020 3 107000050 1
9705 10021 3 112000010 1
9706 10022 3 110000070 1
9707 10023 3 110000080 1
9708 10024 4 111000040 1
9709 10025 4 112000040 1
9710 10026 4 108000100 1
9711 10027 4 105000090 1
9712 10028 4 110000100 1
9713 10029 5 111000060 1
9714 10030 5 112000060 1
9715 10031 5 108000110 1
9716 10032 5 110000110 1
9717 10033 1 108000000 2
9718 10034 2 108000001 2
9719 10035 3 108000002 2
9720 10036 4 108000003 2
9721 10037 5 108000004 2
9722 10038 1 107000000 2
9723 10039 2 107000001 2
9724 10040 3 107000002 2
9725 10041 4 107000003 2
9726 10042 5 107000004 2
9727 10043 1 120000000 2
9728 10044 2 120000001 2
9729 10045 3 120000002 2
9730 10046 4 120000003 2
9731 10047 5 120000004 2
9732 10048 4 130024 3
9733 10049 4 130034 3
9734 10050 4 130044 3
9735 10051 4 130054 3
9736 10052 3 130060 3
9737 10053 3 130070 3
9738 10054 3 130080 3
9739 10055 3 130090 3
9740 10056 3 130100 3
9741 10057 3 130110 3
9742 10058 3 130120 3
9743 10059 3 130130 3
9744 10060 3 130140 3
9745 10061 3 130150 3
9746 10062 3 130160 3
9747 10063 3 130170 3
9748 10064 3 130180 3
9749 10065 3 130190 3
9750 10066 3 130200 3
9751 10067 3 130420 3
9752 10068 3 130510 3
9753 10069 3 130520 3
9754 10070 3 130531 3
9755 10071 3 130540 3
9756 10072 3 130660 3
9757 10073 3 130790 3
9758 10074 3 130800 3
9759 10075 3 131130 3
9760 10076 4 140000 3
9761 10077 4 150010 3
9762 10078 4 150020 3
9763 10079 4 150030 3
9764 10080 4 150040 3
9765 10082 3 111000010 1
9766 10083 3 111000020 1
9767 10084 3 111000030 1
9768 10085 3 112000020 1
9769 10086 3 112000030 1
9770 10087 3 108000060 1
9771 10088 3 108000070 1
9772 10089 3 108000080 1
9773 10090 3 107000050 1
9774 10091 3 112000010 1
9775 10092 3 110000070 1
9776 10093 3 110000080 1
9777 10094 4 111000040 1
9778 10095 4 112000040 1
9779 10096 4 108000100 1
9780 10097 4 105000090 1
9781 10098 4 110000100 1
9782 10099 5 111000060 1
9783 10100 5 112000060 1
9784 10101 5 108000110 1
9785 10102 5 110000110 1
9786 10103 1 108000000 2
9787 10104 2 108000001 2
9788 10105 3 108000002 2
9789 10106 4 108000003 2
9790 10107 5 108000004 2
9791 10108 1 107000000 2
9792 10109 2 107000001 2
9793 10110 3 107000002 2
9794 10111 4 107000003 2
9795 10112 5 107000004 2
9796 10113 1 120000000 2
9797 10114 2 120000001 2
9798 10115 3 120000002 2
9799 10116 4 120000003 2
9800 10117 5 120000004 2
9801 10118 3 170004 3
9802 10119 4 170005 3
9803 10120 3 180004 3
9804 10121 4 180005 3
9805 10122 4 140000 3
9806 10123 4 150010 3
9807 10124 4 150020 3
9808 10125 4 150030 3
9809 10126 4 150040 3
9810 10128 3 101000050 1
9811 10129 3 101000060 1
9812 10130 3 101000080 1
9813 10131 3 101000040 1
9814 10132 3 109000060 1
9815 10133 3 109000070 1
9816 10134 3 109000080 1
9817 10135 3 105000060 1
9818 10136 3 105000070 1
9819 10137 3 105000080 1
9820 10138 3 104000050 1
9821 10139 3 106000050 1
9822 10140 4 101000090 1
9823 10141 4 101000100 1
9824 10142 4 101000110 1
9825 10143 4 109000100 1
9826 10144 4 105000100 1
9827 10145 4 105000110 1
9828 10146 4 108000090 1
9829 10147 4 110000090 1
9830 10148 5 101000120 1
9831 10149 5 109000110 1
9832 10150 5 105000120 1
9833 10151 1 101000000 2
9834 10152 2 101000001 2
9835 10153 3 101000002 2
9836 10154 4 101000008 2
9837 10155 5 101000004 2
9838 10156 1 109000000 2
9839 10157 2 109000001 2
9840 10158 3 109000002 2
9841 10159 4 109000003 2
9842 10160 5 109000004 2
9843 10161 4 110024 3
9844 10162 4 110034 3
9845 10163 4 110044 3
9846 10164 4 110054 3
9847 10165 3 110060 3
9848 10166 3 110070 3
9849 10167 3 110080 3
9850 10168 3 110090 3
9851 10169 3 110100 3
9852 10170 3 110110 3
9853 10171 3 110120 3
9854 10172 3 110130 3
9855 10173 3 110140 3
9856 10174 3 110150 3
9857 10175 3 110160 3
9858 10176 3 110170 3
9859 10177 3 110180 3
9860 10178 3 110190 3
9861 10179 3 110200 3
9862 10180 3 110210 3
9863 10181 3 110220 3
9864 10182 3 110230 3
9865 10183 3 110240 3
9866 10184 3 110250 3
9867 10185 3 110260 3
9868 10186 3 110270 3
9869 10187 3 110620 3
9870 10188 3 110670 3
9871 10189 4 140000 3
9872 10190 4 150010 3
9873 10191 4 150020 3
9874 10192 4 150030 3
9875 10193 4 150040 3
9876 10195 3 102000060 1
9877 10196 3 102000070 1
9878 10197 3 102000080 1
9879 10198 3 103000050 1
9880 10199 3 105000050 1
9881 10200 3 107000060 1
9882 10201 3 107000070 1
9883 10202 3 107000080 1
9884 10203 3 108000050 1
9885 10204 3 109000050 1
9886 10205 3 103000060 1
9887 10206 3 103000070 1
9888 10207 3 103000080 1
9889 10208 3 110000050 1
9890 10209 4 102000100 1
9891 10210 4 102000110 1
9892 10211 4 102000350 1
9893 10212 4 106000090 1
9894 10213 4 109000090 1
9895 10214 4 107000100 1
9896 10215 4 103000090 1
9897 10216 4 102000090 1
9898 10217 4 103000100 1
9899 10218 5 102000120 1
9900 10219 5 107000110 1
9901 10220 5 103000120 1
9902 10221 1 102000000 2
9903 10222 2 102000001 2
9904 10223 3 102000002 2
9905 10224 4 102000003 2
9906 10225 5 102000004 2
9907 10226 1 105000000 2
9908 10227 2 105000001 2
9909 10228 3 105000002 2
9910 10229 4 105000003 2
9911 10230 5 105000004 2
9912 10231 1 112000000 2
9913 10232 2 112000001 2
9914 10233 3 112000002 2
9915 10234 4 112000003 2
9916 10235 5 112000004 2
9917 10236 4 120024 3
9918 10237 4 120034 3
9919 10238 4 120044 3
9920 10239 4 120054 3
9921 10240 3 120241 3
9922 10241 3 120251 3
9923 10242 3 120261 3
9924 10243 3 120271 3
9925 10244 3 120300 3
9926 10245 3 120310 3
9927 10246 3 120320 3
9928 10247 3 120330 3
9929 10248 3 120340 3
9930 10249 3 120350 3
9931 10250 3 120360 3
9932 10251 3 120370 3
9933 10252 3 120380 3
9934 10253 3 120390 3
9935 10254 3 120400 3
9936 10255 3 120410 3
9937 10256 3 120420 3
9938 10257 3 120430 3
9939 10258 3 120450 3
9940 10259 3 120460 3
9941 10260 3 120550 3
9942 10261 3 120560 3
9943 10262 3 120570 3
9944 10263 3 120990 3
9945 10264 3 121000 3
9946 10265 3 121010 3
9947 10266 3 121020 3
9948 10267 3 121100 3
9949 10268 4 140000 3
9950 10269 4 150010 3
9951 10270 4 150020 3
9952 10271 4 150030 3
9953 10272 4 150040 3
9954 10274 3 118000020 1
9955 10275 3 118000030 1
9956 10276 3 118000040 1
9957 10277 3 106000060 1
9958 10278 3 106000070 1
9959 10279 3 106000080 1
9960 10280 3 101000070 1
9961 10281 3 110000060 1
9962 10282 3 104000060 1
9963 10283 3 104000070 1
9964 10284 3 104000080 1
9965 10285 3 102000050 1
9966 10286 3 104000170 1
9967 10287 3 104000260 1
9968 10288 4 118000050 1
9969 10289 4 118000060 1
9970 10290 4 106000100 1
9971 10291 4 106000110 1
9972 10292 4 104000090 1
9973 10293 4 104000100 1
9974 10294 4 104000110 1
9975 10295 4 104000270 1
9976 10296 4 107000090 1
9977 10297 4 104000180 1
9978 10298 5 118000070 1
9979 10299 5 106000120 1
9980 10300 5 104000120 1
9981 10301 5 104000190 1
9982 10302 1 103000000 2
9983 10303 2 103000001 2
9984 10304 3 103000002 2
9985 10305 4 103000003 2
9986 10306 5 103000004 2
9987 10307 1 111000000 2
9988 10308 2 111000001 2
9989 10309 3 111000002 2
9990 10310 4 111000003 2
9991 10311 5 111000004 2
9992 10312 1 115000000 2
9993 10313 2 115000001 2
9994 10314 3 115000002 2
9995 10315 4 115000003 2
9996 10316 5 115000004 2
9997 10317 4 130024 3
9998 10318 4 130034 3
9999 10319 4 130044 3
10000 10320 4 130054 3
10001 10321 3 130060 3
10002 10322 3 130070 3
10003 10323 3 130080 3
10004 10324 3 130090 3
10005 10325 3 130100 3
10006 10326 3 130110 3
10007 10327 3 130120 3
10008 10328 3 130130 3
10009 10329 3 130140 3
10010 10330 3 130150 3
10011 10331 3 130160 3
10012 10332 3 130170 3
10013 10333 3 130180 3
10014 10334 3 130190 3
10015 10335 3 130200 3
10016 10336 3 130420 3
10017 10337 3 130510 3
10018 10338 3 130520 3
10019 10339 3 130531 3
10020 10340 3 130540 3
10021 10341 3 130660 3
10022 10342 3 130790 3
10023 10343 3 130800 3
10024 10344 3 131130 3
10025 10345 4 140000 3
10026 10346 4 150010 3
10027 10347 4 150020 3
10028 10348 4 150030 3
10029 10349 4 150040 3
10030 10351 1 101000010 1
10031 10352 1 102000010 1
10032 10353 1 103000010 1
10033 10354 1 104000010 1
10034 10355 1 105000010 1
10035 10356 1 106000010 1
10036 10357 1 107000010 1
10037 10358 1 108000010 1
10038 10359 1 109000010 1
10039 10360 1 110000010 1
10040 10361 2 101000020 1
10041 10362 2 101000030 1
10042 10363 2 102000020 1
10043 10364 2 102000030 1
10044 10365 2 102000040 1
10045 10366 2 103000020 1
10046 10367 2 103000030 1
10047 10368 2 103000040 1
10048 10369 2 104000020 1
10049 10370 2 104000030 1
10050 10371 2 104000040 1
10051 10372 2 105000020 1
10052 10373 2 105000030 1
10053 10374 2 105000040 1
10054 10375 2 106000020 1
10055 10376 2 106000030 1
10056 10377 2 106000040 1
10057 10378 2 107000020 1
10058 10379 2 107000030 1
10059 10380 2 107000040 1
10060 10381 2 108000020 1
10061 10382 2 108000030 1
10062 10383 2 108000040 1
10063 10384 2 109000020 1
10064 10385 2 109000030 1
10065 10386 2 109000040 1
10066 10387 2 110000020 1
10067 10388 2 110000030 1
10068 10389 2 110000040 1
10069 10390 2 118000010 1
10070 10391 3 101000050 1
10071 10392 3 101000060 1
10072 10393 3 101000080 1
10073 10394 3 101000040 1
10074 10395 3 109000060 1
10075 10396 3 109000070 1
10076 10397 3 109000080 1
10077 10398 3 105000060 1
10078 10399 3 105000070 1
10079 10400 3 105000080 1
10080 10401 3 104000050 1
10081 10402 3 106000050 1
10082 10403 3 102000060 1
10083 10404 3 102000070 1
10084 10405 3 102000080 1
10085 10406 3 103000050 1
10086 10407 3 105000050 1
10087 10408 3 107000060 1
10088 10409 3 107000070 1
10089 10410 3 107000080 1
10090 10411 3 108000050 1
10091 10412 3 109000050 1
10092 10413 3 103000060 1
10093 10414 3 103000070 1
10094 10415 3 103000080 1
10095 10416 3 110000050 1
10096 10417 3 106000060 1
10097 10418 3 106000070 1
10098 10419 3 106000080 1
10099 10420 3 101000070 1
10100 10421 3 110000060 1
10101 10422 3 104000060 1
10102 10423 3 104000070 1
10103 10424 3 104000080 1
10104 10425 3 102000050 1
10105 10426 3 104000170 1
10106 10427 3 104000260 1
10107 10428 3 111000010 1
10108 10429 3 111000020 1
10109 10430 3 111000030 1
10110 10431 3 112000020 1
10111 10432 3 112000030 1
10112 10433 3 108000060 1
10113 10434 3 108000070 1
10114 10435 3 108000080 1
10115 10436 3 107000050 1
10116 10437 3 112000010 1
10117 10438 3 110000070 1
10118 10439 3 110000080 1
10119 10440 3 118000020 1
10120 10441 3 118000030 1
10121 10442 3 118000040 1
10122 10443 4 101000090 1
10123 10444 4 101000100 1
10124 10445 4 101000110 1
10125 10446 4 109000100 1
10126 10447 4 105000100 1
10127 10448 4 105000110 1
10128 10449 4 108000090 1
10129 10450 4 110000090 1
10130 10451 4 102000100 1
10131 10452 4 102000110 1
10132 10453 4 106000090 1
10133 10454 4 109000090 1
10134 10455 4 107000100 1
10135 10456 4 103000090 1
10136 10457 4 102000090 1
10137 10458 4 103000100 1
10138 10459 4 106000100 1
10139 10460 4 106000110 1
10140 10461 4 104000090 1
10141 10462 4 104000100 1
10142 10463 4 104000110 1
10143 10464 4 107000090 1
10144 10465 4 104000180 1
10145 10466 4 111000040 1
10146 10467 4 112000040 1
10147 10468 4 108000100 1
10148 10469 4 105000090 1
10149 10470 4 110000100 1
10150 10471 4 118000050 1
10151 10472 4 118000060 1
10152 10473 5 101000120 1
10153 10474 5 109000110 1
10154 10475 5 105000120 1
10155 10476 5 102000120 1
10156 10477 5 107000110 1
10157 10478 5 103000120 1
10158 10479 5 106000120 1
10159 10480 5 104000120 1
10160 10481 5 104000190 1
10161 10482 5 111000060 1
10162 10483 5 112000060 1
10163 10484 5 108000110 1
10164 10485 5 110000110 1
10165 10486 5 118000070 1
10166 10487 1 201000010 8
10167 10488 1 292000010 8
10168 10489 1 299000040 8
10169 10490 1 299000070 8
10170 10491 1 299000110 8
10171 10492 1 299000120 8
10172 10493 1 299000140 8
10173 10494 2 202000010 8
10174 10495 2 290000010 8
10175 10496 2 299000010 8
10176 10497 2 299000150 8
10177 10498 2 299000190 8
10178 10499 2 299000200 8
10179 10500 2 299000210 8
10180 10501 3 298000050 8
10181 10502 3 298000060 8
10182 10503 3 299000060 8
10183 10504 3 299000170 8
10184 10505 3 290000120 8
10185 10506 3 291000050 8
10186 10507 3 292000020 8
10187 10508 4 299000670 8
10188 10509 4 299000680 8
10189 10510 4 204000010 8
10190 10511 4 209000040 8
10191 10512 4 202000070 8
10192 10513 5 297000100 8
10193 10514 5 291000020 8
10194 10515 5 297000130 8
10195 10516 5 297000140 8
10196 10517 5 203000010 8
10197 10518 5 206000030 8
10198 10519 5 203000050 8
10199 10520 1 170002 3
10200 10521 1 180002 3
10201 10522 2 170003 3
10202 10523 2 180003 3
10203 10524 3 170004 3
10204 10525 3 180004 3
10205 10526 4 140000 3
10206 10527 5 150010 3
10207 10528 5 150020 3
10208 10529 5 150030 3
10209 10530 5 150040 3
10210 10532 1 101000010 1
10211 10533 1 102000010 1
10212 10534 1 103000010 1
10213 10535 1 104000010 1
10214 10536 1 105000010 1
10215 10537 1 106000010 1
10216 10538 1 107000010 1
10217 10539 1 108000010 1
10218 10540 1 109000010 1
10219 10541 1 110000010 1
10220 10542 2 101000020 1
10221 10543 2 101000030 1
10222 10544 2 102000020 1
10223 10545 2 102000030 1
10224 10546 2 102000040 1
10225 10547 2 103000020 1
10226 10548 2 103000030 1
10227 10549 2 103000040 1
10228 10550 2 104000020 1
10229 10551 2 104000030 1
10230 10552 2 104000040 1
10231 10553 2 105000020 1
10232 10554 2 105000030 1
10233 10555 2 105000040 1
10234 10556 2 106000020 1
10235 10557 2 106000030 1
10236 10558 2 106000040 1
10237 10559 2 107000020 1
10238 10560 2 107000030 1
10239 10561 2 107000040 1
10240 10562 2 108000020 1
10241 10563 2 108000030 1
10242 10564 2 108000040 1
10243 10565 2 109000020 1
10244 10566 2 109000030 1
10245 10567 2 109000040 1
10246 10568 2 110000020 1
10247 10569 2 110000030 1
10248 10570 2 110000040 1
10249 10571 2 118000010 1
10250 10572 3 101000050 1
10251 10573 3 101000060 1
10252 10574 3 101000080 1
10253 10575 3 101000040 1
10254 10576 3 109000060 1
10255 10577 3 109000070 1
10256 10578 3 109000080 1
10257 10579 3 105000060 1
10258 10580 3 105000070 1
10259 10581 3 105000080 1
10260 10582 3 104000050 1
10261 10583 3 106000050 1
10262 10584 3 102000060 1
10263 10585 3 102000070 1
10264 10586 3 102000080 1
10265 10587 3 103000050 1
10266 10588 3 105000050 1
10267 10589 3 107000060 1
10268 10590 3 107000070 1
10269 10591 3 107000080 1
10270 10592 3 108000050 1
10271 10593 3 109000050 1
10272 10594 3 103000060 1
10273 10595 3 103000070 1
10274 10596 3 103000080 1
10275 10597 3 110000050 1
10276 10598 3 106000060 1
10277 10599 3 106000070 1
10278 10600 3 106000080 1
10279 10601 3 101000070 1
10280 10602 3 110000060 1
10281 10603 3 104000060 1
10282 10604 3 104000070 1
10283 10605 3 104000080 1
10284 10606 3 102000050 1
10285 10607 3 104000170 1
10286 10608 3 104000260 1
10287 10609 3 111000010 1
10288 10610 3 111000020 1
10289 10611 3 111000030 1
10290 10612 3 112000020 1
10291 10613 3 112000030 1
10292 10614 3 108000060 1
10293 10615 3 108000070 1
10294 10616 3 108000080 1
10295 10617 3 107000050 1
10296 10618 3 112000010 1
10297 10619 3 110000070 1
10298 10620 3 110000080 1
10299 10621 3 118000020 1
10300 10622 3 118000030 1
10301 10623 3 118000040 1
10302 10624 4 101000090 1
10303 10625 4 101000100 1
10304 10626 4 101000110 1
10305 10627 4 109000100 1
10306 10628 4 105000100 1
10307 10629 4 105000110 1
10308 10630 4 108000090 1
10309 10631 4 110000090 1
10310 10632 4 102000100 1
10311 10633 4 102000110 1
10312 10634 4 106000090 1
10313 10635 4 109000090 1
10314 10636 4 107000100 1
10315 10637 4 103000090 1
10316 10638 4 102000090 1
10317 10639 4 103000100 1
10318 10640 4 106000100 1
10319 10641 4 106000110 1
10320 10642 4 104000090 1
10321 10643 4 104000100 1
10322 10644 4 104000110 1
10323 10645 4 107000090 1
10324 10646 4 104000180 1
10325 10647 4 111000040 1
10326 10648 4 112000040 1
10327 10649 4 108000100 1
10328 10650 4 105000090 1
10329 10651 4 110000100 1
10330 10652 4 118000050 1
10331 10653 4 118000060 1
10332 10654 5 101000120 1
10333 10655 5 109000110 1
10334 10656 5 105000120 1
10335 10657 5 102000120 1
10336 10658 5 107000110 1
10337 10659 5 103000120 1
10338 10660 5 106000120 1
10339 10661 5 104000120 1
10340 10662 5 104000190 1
10341 10663 5 111000060 1
10342 10664 5 112000060 1
10343 10665 5 108000110 1
10344 10666 5 110000110 1
10345 10667 5 118000070 1
10346 10668 1 201000010 8
10347 10669 1 292000010 8
10348 10670 1 299000040 8
10349 10671 1 299000070 8
10350 10672 1 299000110 8
10351 10673 1 299000120 8
10352 10674 1 299000140 8
10353 10675 2 202000010 8
10354 10676 2 290000010 8
10355 10677 2 299000010 8
10356 10678 2 299000150 8
10357 10679 2 299000190 8
10358 10680 2 299000200 8
10359 10681 2 299000210 8
10360 10682 3 298000050 8
10361 10683 3 298000060 8
10362 10684 3 299000060 8
10363 10685 3 299000170 8
10364 10686 3 290000120 8
10365 10687 3 291000050 8
10366 10688 3 292000020 8
10367 10689 4 299000670 8
10368 10690 4 299000680 8
10369 10691 4 204000010 8
10370 10692 4 209000040 8
10371 10693 4 202000070 8
10372 10694 5 297000100 8
10373 10695 5 291000020 8
10374 10696 5 297000130 8
10375 10697 5 297000140 8
10376 10698 5 203000010 8
10377 10699 5 206000030 8
10378 10700 5 203000050 8
10379 10701 2 170003 3
10380 10702 2 180003 3
10381 10703 3 170004 3
10382 10704 3 180004 3
10383 10705 4 140000 3
10384 10706 5 150010 3
10385 10707 5 150020 3
10386 10708 5 150030 3
10387 10709 5 150040 3
10388 10711 3 101000050 1
10389 10712 3 101000060 1
10390 10713 3 101000080 1
10391 10714 3 101000040 1
10392 10715 3 109000060 1
10393 10716 3 109000070 1
10394 10717 3 109000080 1
10395 10718 3 105000060 1
10396 10719 3 105000070 1
10397 10720 3 105000080 1
10398 10721 3 104000050 1
10399 10722 3 106000050 1
10400 10723 3 102000060 1
10401 10724 3 102000070 1
10402 10725 3 102000080 1
10403 10726 3 103000050 1
10404 10727 3 105000050 1
10405 10728 3 107000060 1
10406 10729 3 107000070 1
10407 10730 3 107000080 1
10408 10731 3 108000050 1
10409 10732 3 109000050 1
10410 10733 3 103000060 1
10411 10734 3 103000070 1
10412 10735 3 103000080 1
10413 10736 3 110000050 1
10414 10737 3 106000060 1
10415 10738 3 106000070 1
10416 10739 3 106000080 1
10417 10740 3 101000070 1
10418 10741 3 110000060 1
10419 10742 3 104000060 1
10420 10743 3 104000070 1
10421 10744 3 104000080 1
10422 10745 3 102000050 1
10423 10746 3 104000170 1
10424 10747 3 104000260 1
10425 10748 3 111000010 1
10426 10749 3 111000020 1
10427 10750 3 111000030 1
10428 10751 3 112000020 1
10429 10752 3 112000030 1
10430 10753 3 108000060 1
10431 10754 3 108000070 1
10432 10755 3 108000080 1
10433 10756 3 107000050 1
10434 10757 3 112000010 1
10435 10758 3 110000070 1
10436 10759 3 110000080 1
10437 10760 3 118000020 1
10438 10761 3 118000030 1
10439 10762 3 118000040 1
10440 10763 4 101000090 1
10441 10764 4 101000100 1
10442 10765 4 101000110 1
10443 10766 4 109000100 1
10444 10767 4 105000100 1
10445 10768 4 105000110 1
10446 10769 4 108000090 1
10447 10770 4 110000090 1
10448 10771 4 102000100 1
10449 10772 4 102000110 1
10450 10773 4 106000090 1
10451 10774 4 109000090 1
10452 10775 4 107000100 1
10453 10776 4 103000090 1
10454 10777 4 102000090 1
10455 10778 4 103000100 1
10456 10779 4 106000100 1
10457 10780 4 106000110 1
10458 10781 4 104000090 1
10459 10782 4 104000100 1
10460 10783 4 104000110 1
10461 10784 4 107000090 1
10462 10785 4 104000180 1
10463 10786 4 111000040 1
10464 10787 4 112000040 1
10465 10788 4 108000100 1
10466 10789 4 105000090 1
10467 10790 4 110000100 1
10468 10791 4 118000050 1
10469 10792 4 118000060 1
10470 10793 5 101000120 1
10471 10794 5 109000110 1
10472 10795 5 105000120 1
10473 10796 5 102000120 1
10474 10797 5 107000110 1
10475 10798 5 103000120 1
10476 10799 5 106000120 1
10477 10800 5 104000120 1
10478 10801 5 104000190 1
10479 10802 5 111000060 1
10480 10803 5 112000060 1
10481 10804 5 108000110 1
10482 10805 5 110000110 1
10483 10806 5 118000070 1
10484 10807 1 201000010 8
10485 10808 1 292000010 8
10486 10809 1 299000040 8
10487 10810 1 299000070 8
10488 10811 1 299000110 8
10489 10812 1 299000120 8
10490 10813 1 299000140 8
10491 10814 2 202000010 8
10492 10815 2 290000010 8
10493 10816 2 299000010 8
10494 10817 2 299000150 8
10495 10818 2 299000190 8
10496 10819 2 299000200 8
10497 10820 2 299000210 8
10498 10821 3 298000050 8
10499 10822 3 298000060 8
10500 10823 3 299000060 8
10501 10824 3 299000170 8
10502 10825 3 290000120 8
10503 10826 3 291000050 8
10504 10827 3 292000020 8
10505 10828 4 299000670 8
10506 10829 4 299000680 8
10507 10830 4 204000010 8
10508 10831 4 209000040 8
10509 10832 4 202000070 8
10510 10833 5 297000100 8
10511 10834 5 291000020 8
10512 10835 5 297000130 8
10513 10836 5 297000140 8
10514 10837 5 203000010 8
10515 10838 5 206000030 8
10516 10839 5 203000050 8
10517 10840 3 170004 3
10518 10841 3 180004 3
10519 10842 4 140000 3
10520 10843 5 150010 3
10521 10844 5 150020 3
10522 10845 5 150030 3
10523 10846 5 150040 3
10524 10848 3 101000050 1
10525 10849 3 101000060 1
10526 10850 3 101000080 1
10527 10851 3 101000040 1
10528 10852 3 109000060 1
10529 10853 3 109000070 1
10530 10854 3 109000080 1
10531 10855 3 105000060 1
10532 10856 3 105000070 1
10533 10857 3 105000080 1
10534 10858 3 104000050 1
10535 10859 3 106000050 1
10536 10860 3 102000060 1
10537 10861 3 102000070 1
10538 10862 3 102000080 1
10539 10863 3 103000050 1
10540 10864 3 105000050 1
10541 10865 3 107000060 1
10542 10866 3 107000070 1
10543 10867 3 107000080 1
10544 10868 3 108000050 1
10545 10869 3 109000050 1
10546 10870 3 103000060 1
10547 10871 3 103000070 1
10548 10872 3 103000080 1
10549 10873 3 110000050 1
10550 10874 3 106000060 1
10551 10875 3 106000070 1
10552 10876 3 106000080 1
10553 10877 3 101000070 1
10554 10878 3 110000060 1
10555 10879 3 104000060 1
10556 10880 3 104000070 1
10557 10881 3 104000080 1
10558 10882 3 102000050 1
10559 10883 3 104000170 1
10560 10884 3 104000260 1
10561 10885 3 111000010 1
10562 10886 3 111000020 1
10563 10887 3 111000030 1
10564 10888 3 112000020 1
10565 10889 3 112000030 1
10566 10890 3 108000060 1
10567 10891 3 108000070 1
10568 10892 3 108000080 1
10569 10893 3 107000050 1
10570 10894 3 112000010 1
10571 10895 3 110000070 1
10572 10896 3 110000080 1
10573 10897 3 118000020 1
10574 10898 3 118000030 1
10575 10899 3 118000040 1
10576 10900 4 101000090 1
10577 10901 4 101000100 1
10578 10902 4 101000110 1
10579 10903 4 109000100 1
10580 10904 4 105000100 1
10581 10905 4 105000110 1
10582 10906 4 108000090 1
10583 10907 4 110000090 1
10584 10908 4 102000100 1
10585 10909 4 102000110 1
10586 10910 4 106000090 1
10587 10911 4 109000090 1
10588 10912 4 107000100 1
10589 10913 4 103000090 1
10590 10914 4 102000090 1
10591 10915 4 103000100 1
10592 10916 4 106000100 1
10593 10917 4 106000110 1
10594 10918 4 104000090 1
10595 10919 4 104000100 1
10596 10920 4 104000110 1
10597 10921 4 107000090 1
10598 10922 4 104000180 1
10599 10923 4 111000040 1
10600 10924 4 112000040 1
10601 10925 4 108000100 1
10602 10926 4 105000090 1
10603 10927 4 110000100 1
10604 10928 4 118000050 1
10605 10929 4 118000060 1
10606 10930 5 101000120 1
10607 10931 5 109000110 1
10608 10932 5 105000120 1
10609 10933 5 102000120 1
10610 10934 5 107000110 1
10611 10935 5 103000120 1
10612 10936 5 106000120 1
10613 10937 5 104000120 1
10614 10938 5 104000190 1
10615 10939 5 111000060 1
10616 10940 5 112000060 1
10617 10941 5 108000110 1
10618 10942 5 110000110 1
10619 10943 5 118000070 1
10620 10944 1 201000010 8
10621 10945 1 292000010 8
10622 10946 1 299000040 8
10623 10947 1 299000070 8
10624 10948 1 299000110 8
10625 10949 1 299000120 8
10626 10950 1 299000140 8
10627 10951 2 202000010 8
10628 10952 2 290000010 8
10629 10953 2 299000010 8
10630 10954 2 299000150 8
10631 10955 2 299000190 8
10632 10956 2 299000200 8
10633 10957 2 299000210 8
10634 10958 3 298000050 8
10635 10959 3 298000060 8
10636 10960 3 299000060 8
10637 10961 3 299000170 8
10638 10962 3 290000120 8
10639 10963 3 291000050 8
10640 10964 3 292000020 8
10641 10965 4 299000670 8
10642 10966 4 299000680 8
10643 10967 4 204000010 8
10644 10968 4 209000040 8
10645 10969 4 202000070 8
10646 10970 5 297000100 8
10647 10971 5 291000020 8
10648 10972 5 297000130 8
10649 10973 5 297000140 8
10650 10974 5 203000010 8
10651 10975 5 206000030 8
10652 10976 5 203000050 8
10653 10977 3 170004 3
10654 10978 3 180004 3
10655 10979 4 140000 3
10656 10980 5 150010 3
10657 10981 5 150020 3
10658 10982 5 150030 3
10659 10983 5 150040 3
10660 10985 3 101000050 1
10661 10986 3 101000060 1
10662 10987 3 101000080 1
10663 10988 3 101000040 1
10664 10989 3 109000060 1
10665 10990 3 109000070 1
10666 10991 3 109000080 1
10667 10992 3 105000060 1
10668 10993 3 105000070 1
10669 10994 3 105000080 1
10670 10995 3 104000050 1
10671 10996 3 106000050 1
10672 10997 3 102000060 1
10673 10998 3 102000070 1
10674 10999 3 102000080 1
10675 11000 3 103000050 1
10676 11001 3 105000050 1
10677 11002 3 107000060 1
10678 11003 3 107000070 1
10679 11004 3 107000080 1
10680 11005 3 108000050 1
10681 11006 3 109000050 1
10682 11007 3 103000060 1
10683 11008 3 103000070 1
10684 11009 3 103000080 1
10685 11010 3 110000050 1
10686 11011 3 106000060 1
10687 11012 3 106000070 1
10688 11013 3 106000080 1
10689 11014 3 101000070 1
10690 11015 3 110000060 1
10691 11016 3 104000060 1
10692 11017 3 104000070 1
10693 11018 3 104000080 1
10694 11019 3 102000050 1
10695 11020 3 104000170 1
10696 11021 3 104000260 1
10697 11022 3 111000010 1
10698 11023 3 111000020 1
10699 11024 3 111000030 1
10700 11025 3 112000020 1
10701 11026 3 112000030 1
10702 11027 3 108000060 1
10703 11028 3 108000070 1
10704 11029 3 108000080 1
10705 11030 3 107000050 1
10706 11031 3 112000010 1
10707 11032 3 110000070 1
10708 11033 3 110000080 1
10709 11034 3 118000020 1
10710 11035 3 118000030 1
10711 11036 3 118000040 1
10712 11037 4 101000090 1
10713 11038 4 101000100 1
10714 11039 4 101000110 1
10715 11040 4 109000100 1
10716 11041 4 105000100 1
10717 11042 4 105000110 1
10718 11043 4 108000090 1
10719 11044 4 110000090 1
10720 11045 4 102000100 1
10721 11046 4 102000110 1
10722 11047 4 106000090 1
10723 11048 4 109000090 1
10724 11049 4 107000100 1
10725 11050 4 103000090 1
10726 11051 4 102000090 1
10727 11052 4 103000100 1
10728 11053 4 106000100 1
10729 11054 4 106000110 1
10730 11055 4 104000090 1
10731 11056 4 104000100 1
10732 11057 4 104000110 1
10733 11058 4 107000090 1
10734 11059 4 104000180 1
10735 11060 4 111000040 1
10736 11061 4 112000040 1
10737 11062 4 108000100 1
10738 11063 4 105000090 1
10739 11064 4 110000100 1
10740 11065 4 118000050 1
10741 11066 4 118000060 1
10742 11067 5 101000120 1
10743 11068 5 109000110 1
10744 11069 5 105000120 1
10745 11070 5 102000120 1
10746 11071 5 107000110 1
10747 11072 5 103000120 1
10748 11073 5 106000120 1
10749 11074 5 104000120 1
10750 11075 5 104000190 1
10751 11076 5 111000060 1
10752 11077 5 112000060 1
10753 11078 5 108000110 1
10754 11079 5 110000110 1
10755 11080 5 118000070 1
10756 11081 1 201000010 8
10757 11082 1 292000010 8
10758 11083 1 299000040 8
10759 11084 1 299000070 8
10760 11085 1 299000110 8
10761 11086 1 299000120 8
10762 11087 1 299000140 8
10763 11088 2 202000010 8
10764 11089 2 290000010 8
10765 11090 2 299000010 8
10766 11091 2 299000150 8
10767 11092 2 299000190 8
10768 11093 2 299000200 8
10769 11094 2 299000210 8
10770 11095 3 298000050 8
10771 11096 3 298000060 8
10772 11097 3 299000060 8
10773 11098 3 299000170 8
10774 11099 3 290000120 8
10775 11100 3 291000050 8
10776 11101 3 292000020 8
10777 11102 4 299000670 8
10778 11103 4 299000680 8
10779 11104 4 204000010 8
10780 11105 4 209000040 8
10781 11106 4 202000070 8
10782 11107 5 297000100 8
10783 11108 5 291000020 8
10784 11109 5 297000130 8
10785 11110 5 297000140 8
10786 11111 5 203000010 8
10787 11112 5 206000030 8
10788 11113 5 203000050 8
10789 11114 3 170004 3
10790 11115 3 180004 3
10791 11116 4 140000 3
10792 11117 5 150010 3
10793 11118 5 150020 3
10794 11119 5 150030 3
10795 11120 5 150040 3
10796 11121 5 190000 3
10797 11122 5 200000 3
10798 11123 5 210000 3
10799 11125 3 118000020 1
10800 11126 3 118000030 1
10801 11127 3 118000040 1
10802 11128 3 106000060 1
10803 11129 3 106000070 1
10804 11130 3 106000080 1
10805 11131 3 101000070 1
10806 11132 3 110000060 1
10807 11133 3 104000060 1
10808 11134 3 104000070 1
10809 11135 3 104000080 1
10810 11136 3 102000050 1
10811 11137 3 104000170 1
10812 11138 3 104000260 1
10813 11139 4 118000050 1
10814 11140 4 118000060 1
10815 11141 4 106000100 1
10816 11142 4 106000110 1
10817 11143 4 104000090 1
10818 11144 4 104000100 1
10819 11145 4 104000110 1
10820 11146 4 104000270 1
10821 11147 4 107000090 1
10822 11148 4 104000180 1
10823 11149 5 118000070 1
10824 11150 5 106000120 1
10825 11151 5 104000120 1
10826 11152 5 104000190 1
10827 11153 1 103000000 2
10828 11154 2 103000001 2
10829 11155 3 103000002 2
10830 11156 4 103000003 2
10831 11157 5 103000004 2
10832 11158 1 111000000 2
10833 11159 2 111000001 2
10834 11160 3 111000002 2
10835 11161 4 111000003 2
10836 11162 5 111000004 2
10837 11163 1 115000000 2
10838 11164 2 115000001 2
10839 11165 3 115000002 2
10840 11166 4 115000003 2
10841 11167 5 115000004 2
10842 11168 3 170004 3
10843 11169 4 170005 3
10844 11170 3 180004 3
10845 11171 4 180005 3
10846 11172 4 140000 3
10847 11173 4 150010 3
10848 11174 4 150020 3
10849 11175 4 150030 3
10850 11176 4 150040 3
10851 11178 3 111000010 1
10852 11179 3 111000020 1
10853 11180 3 111000030 1
10854 11181 3 112000020 1
10855 11182 3 112000030 1
10856 11183 3 108000060 1
10857 11184 3 108000070 1
10858 11185 3 108000080 1
10859 11186 3 107000050 1
10860 11187 3 112000010 1
10861 11188 3 110000070 1
10862 11189 3 110000080 1
10863 11190 4 111000040 1
10864 11191 4 112000040 1
10865 11192 4 108000100 1
10866 11193 4 105000090 1
10867 11194 4 110000100 1
10868 11195 5 111000060 1
10869 11196 5 112000060 1
10870 11197 5 108000110 1
10871 11198 5 110000110 1
10872 11199 1 108000000 2
10873 11200 2 108000001 2
10874 11201 3 108000002 2
10875 11202 4 108000003 2
10876 11203 5 108000004 2
10877 11204 1 107000000 2
10878 11205 2 107000001 2
10879 11206 3 107000002 2
10880 11207 4 107000003 2
10881 11208 5 107000004 2
10882 11209 1 120000000 2
10883 11210 2 120000001 2
10884 11211 3 120000002 2
10885 11212 4 120000003 2
10886 11213 5 120000004 2
10887 11214 4 110024 3
10888 11215 4 110034 3
10889 11216 4 110044 3
10890 11217 4 110054 3
10891 11218 3 110060 3
10892 11219 3 110070 3
10893 11220 3 110080 3
10894 11221 3 110090 3
10895 11222 3 110100 3
10896 11223 3 110110 3
10897 11224 3 110120 3
10898 11225 3 110130 3
10899 11226 3 110140 3
10900 11227 3 110150 3
10901 11228 3 110160 3
10902 11229 3 110170 3
10903 11230 3 110180 3
10904 11231 3 110190 3
10905 11232 3 110200 3
10906 11233 3 110210 3
10907 11234 3 110220 3
10908 11235 3 110230 3
10909 11236 3 110240 3
10910 11237 3 110250 3
10911 11238 3 110260 3
10912 11239 3 110270 3
10913 11240 3 110620 3
10914 11241 3 110670 3
10915 11242 4 140000 3
10916 11243 4 150010 3
10917 11244 4 150020 3
10918 11245 4 150030 3
10919 11246 4 150040 3
10920 11248 3 101000050 1
10921 11249 3 101000060 1
10922 11250 3 101000080 1
10923 11251 3 101000040 1
10924 11252 3 109000060 1
10925 11253 3 109000070 1
10926 11254 3 109000080 1
10927 11255 3 105000060 1
10928 11256 3 105000070 1
10929 11257 3 105000080 1
10930 11258 3 104000050 1
10931 11259 3 106000050 1
10932 11260 4 101000090 1
10933 11261 4 101000100 1
10934 11262 4 101000110 1
10935 11263 4 109000100 1
10936 11264 4 105000100 1
10937 11265 4 105000110 1
10938 11266 4 108000090 1
10939 11267 4 110000090 1
10940 11268 5 101000120 1
10941 11269 5 109000110 1
10942 11270 5 105000120 1
10943 11271 1 101000000 2
10944 11272 2 101000001 2
10945 11273 3 101000002 2
10946 11274 4 101000008 2
10947 11275 5 101000004 2
10948 11276 1 109000000 2
10949 11277 2 109000001 2
10950 11278 3 109000002 2
10951 11279 4 109000003 2
10952 11280 5 109000004 2
10953 11281 4 120024 3
10954 11282 4 120034 3
10955 11283 4 120044 3
10956 11284 4 120054 3
10957 11285 3 120241 3
10958 11286 3 120251 3
10959 11287 3 120261 3
10960 11288 3 120271 3
10961 11289 3 120300 3
10962 11290 3 120310 3
10963 11291 3 120320 3
10964 11292 3 120330 3
10965 11293 3 120340 3
10966 11294 3 120350 3
10967 11295 3 120360 3
10968 11296 3 120370 3
10969 11297 3 120380 3
10970 11298 3 120390 3
10971 11299 3 120400 3
10972 11300 3 120410 3
10973 11301 3 120420 3
10974 11302 3 120430 3
10975 11303 3 120450 3
10976 11304 3 120460 3
10977 11305 3 120550 3
10978 11306 3 120560 3
10979 11307 3 120570 3
10980 11308 3 120990 3
10981 11309 3 121000 3
10982 11310 3 121010 3
10983 11311 3 121020 3
10984 11312 3 121100 3
10985 11313 4 140000 3
10986 11314 4 150010 3
10987 11315 4 150020 3
10988 11316 4 150030 3
10989 11317 4 150040 3
10990 11319 3 102000060 1
10991 11320 3 102000070 1
10992 11321 3 102000080 1
10993 11322 3 103000050 1
10994 11323 3 105000050 1
10995 11324 3 107000060 1
10996 11325 3 107000070 1
10997 11326 3 107000080 1
10998 11327 3 108000050 1
10999 11328 3 109000050 1
11000 11329 3 103000060 1
11001 11330 3 103000070 1
11002 11331 3 103000080 1
11003 11332 3 110000050 1
11004 11333 4 102000100 1
11005 11334 4 102000110 1
11006 11335 4 102000350 1
11007 11336 4 106000090 1
11008 11337 4 109000090 1
11009 11338 4 107000100 1
11010 11339 4 103000090 1
11011 11340 4 102000090 1
11012 11341 4 103000100 1
11013 11342 5 102000120 1
11014 11343 5 107000110 1
11015 11344 5 103000120 1
11016 11345 1 102000000 2
11017 11346 2 102000001 2
11018 11347 3 102000002 2
11019 11348 4 102000003 2
11020 11349 5 102000004 2
11021 11350 1 105000000 2
11022 11351 2 105000001 2
11023 11352 3 105000002 2
11024 11353 4 105000003 2
11025 11354 5 105000004 2
11026 11355 1 112000000 2
11027 11356 2 112000001 2
11028 11357 3 112000002 2
11029 11358 4 112000003 2
11030 11359 5 112000004 2
11031 11360 4 130024 3
11032 11361 4 130034 3
11033 11362 4 130044 3
11034 11363 4 130054 3
11035 11364 3 130060 3
11036 11365 3 130070 3
11037 11366 3 130080 3
11038 11367 3 130090 3
11039 11368 3 130100 3
11040 11369 3 130110 3
11041 11370 3 130120 3
11042 11371 3 130130 3
11043 11372 3 130140 3
11044 11373 3 130150 3
11045 11374 3 130160 3
11046 11375 3 130170 3
11047 11376 3 130180 3
11048 11377 3 130190 3
11049 11378 3 130200 3
11050 11379 3 130420 3
11051 11380 3 130510 3
11052 11381 3 130520 3
11053 11382 3 130531 3
11054 11383 3 130540 3
11055 11384 3 130660 3
11056 11385 3 130790 3
11057 11386 3 130800 3
11058 11387 3 131130 3
11059 11388 4 140000 3
11060 11389 4 150010 3
11061 11390 4 150020 3
11062 11391 4 150030 3
11063 11392 4 150040 3
11064 11394 1 101000010 1
11065 11395 1 102000010 1
11066 11396 1 103000010 1
11067 11397 1 104000010 1
11068 11398 1 105000010 1
11069 11399 1 106000010 1
11070 11400 1 107000010 1
11071 11401 1 108000010 1
11072 11402 1 109000010 1
11073 11403 1 110000010 1
11074 11404 2 101000020 1
11075 11405 2 101000030 1
11076 11406 2 102000020 1
11077 11407 2 102000030 1
11078 11408 2 102000040 1
11079 11409 2 103000020 1
11080 11410 2 103000030 1
11081 11411 2 103000040 1
11082 11412 2 104000020 1
11083 11413 2 104000030 1
11084 11414 2 104000040 1
11085 11415 2 105000020 1
11086 11416 2 105000030 1
11087 11417 2 105000040 1
11088 11418 2 106000020 1
11089 11419 2 106000030 1
11090 11420 2 106000040 1
11091 11421 2 107000020 1
11092 11422 2 107000030 1
11093 11423 2 107000040 1
11094 11424 2 108000020 1
11095 11425 2 108000030 1
11096 11426 2 108000040 1
11097 11427 2 109000020 1
11098 11428 2 109000030 1
11099 11429 2 109000040 1
11100 11430 2 110000020 1
11101 11431 2 110000030 1
11102 11432 2 110000040 1
11103 11433 2 118000010 1
11104 11434 3 101000050 1
11105 11435 3 101000060 1
11106 11436 3 101000080 1
11107 11437 3 101000040 1
11108 11438 3 109000060 1
11109 11439 3 109000070 1
11110 11440 3 109000080 1
11111 11441 3 105000060 1
11112 11442 3 105000070 1
11113 11443 3 105000080 1
11114 11444 3 104000050 1
11115 11445 3 106000050 1
11116 11446 3 102000060 1
11117 11447 3 102000070 1
11118 11448 3 102000080 1
11119 11449 3 103000050 1
11120 11450 3 105000050 1
11121 11451 3 107000060 1
11122 11452 3 107000070 1
11123 11453 3 107000080 1
11124 11454 3 108000050 1
11125 11455 3 109000050 1
11126 11456 3 103000060 1
11127 11457 3 103000070 1
11128 11458 3 103000080 1
11129 11459 3 110000050 1
11130 11460 3 106000060 1
11131 11461 3 106000070 1
11132 11462 3 106000080 1
11133 11463 3 101000070 1
11134 11464 3 110000060 1
11135 11465 3 104000060 1
11136 11466 3 104000070 1
11137 11467 3 104000080 1
11138 11468 3 102000050 1
11139 11469 3 104000170 1
11140 11470 3 104000260 1
11141 11471 3 111000010 1
11142 11472 3 111000020 1
11143 11473 3 111000030 1
11144 11474 3 112000020 1
11145 11475 3 112000030 1
11146 11476 3 108000060 1
11147 11477 3 108000070 1
11148 11478 3 108000080 1
11149 11479 3 107000050 1
11150 11480 3 112000010 1
11151 11481 3 110000070 1
11152 11482 3 110000080 1
11153 11483 3 118000020 1
11154 11484 3 118000030 1
11155 11485 3 118000040 1
11156 11486 4 101000090 1
11157 11487 4 101000100 1
11158 11488 4 101000110 1
11159 11489 4 109000100 1
11160 11490 4 105000100 1
11161 11491 4 105000110 1
11162 11492 4 108000090 1
11163 11493 4 110000090 1
11164 11494 4 102000100 1
11165 11495 4 102000110 1
11166 11496 4 106000090 1
11167 11497 4 109000090 1
11168 11498 4 107000100 1
11169 11499 4 103000090 1
11170 11500 4 102000090 1
11171 11501 4 103000100 1
11172 11502 4 106000100 1
11173 11503 4 106000110 1
11174 11504 4 104000090 1
11175 11505 4 104000100 1
11176 11506 4 104000110 1
11177 11507 4 107000090 1
11178 11508 4 104000180 1
11179 11509 4 111000040 1
11180 11510 4 112000040 1
11181 11511 4 108000100 1
11182 11512 4 105000090 1
11183 11513 4 110000100 1
11184 11514 4 118000050 1
11185 11515 4 118000060 1
11186 11516 5 101000120 1
11187 11517 5 109000110 1
11188 11518 5 105000120 1
11189 11519 5 102000120 1
11190 11520 5 107000110 1
11191 11521 5 103000120 1
11192 11522 5 106000120 1
11193 11523 5 104000120 1
11194 11524 5 104000190 1
11195 11525 5 111000060 1
11196 11526 5 112000060 1
11197 11527 5 108000110 1
11198 11528 5 110000110 1
11199 11529 5 118000070 1
11200 11530 1 201000010 8
11201 11531 1 292000010 8
11202 11532 1 299000040 8
11203 11533 1 299000070 8
11204 11534 1 299000110 8
11205 11535 1 299000120 8
11206 11536 1 299000140 8
11207 11537 2 202000010 8
11208 11538 2 290000010 8
11209 11539 2 299000010 8
11210 11540 2 299000150 8
11211 11541 2 299000190 8
11212 11542 2 299000200 8
11213 11543 2 299000210 8
11214 11544 3 298000050 8
11215 11545 3 298000060 8
11216 11546 3 299000060 8
11217 11547 3 299000170 8
11218 11548 3 290000120 8
11219 11549 3 291000050 8
11220 11550 3 292000020 8
11221 11551 4 299000670 8
11222 11552 4 299000680 8
11223 11553 4 204000010 8
11224 11554 4 209000040 8
11225 11555 4 202000070 8
11226 11556 4 209000070 8
11227 11557 5 297000100 8
11228 11558 5 291000020 8
11229 11559 5 297000130 8
11230 11560 5 297000140 8
11231 11561 5 203000010 8
11232 11562 5 206000030 8
11233 11563 5 203000050 8
11234 11564 5 202000090 8
11235 11565 1 170002 3
11236 11566 1 180002 3
11237 11567 2 170003 3
11238 11568 2 180003 3
11239 11569 3 170004 3
11240 11570 3 180004 3
11241 11571 4 140000 3
11242 11572 5 150010 3
11243 11573 5 150020 3
11244 11574 5 150030 3
11245 11575 5 150040 3
11246 11577 1 101000010 1
11247 11578 1 102000010 1
11248 11579 1 103000010 1
11249 11580 1 104000010 1
11250 11581 1 105000010 1
11251 11582 1 106000010 1
11252 11583 1 107000010 1
11253 11584 1 108000010 1
11254 11585 1 109000010 1
11255 11586 1 110000010 1
11256 11587 2 101000020 1
11257 11588 2 101000030 1
11258 11589 2 102000020 1
11259 11590 2 102000030 1
11260 11591 2 102000040 1
11261 11592 2 103000020 1
11262 11593 2 103000030 1
11263 11594 2 103000040 1
11264 11595 2 104000020 1
11265 11596 2 104000030 1
11266 11597 2 104000040 1
11267 11598 2 105000020 1
11268 11599 2 105000030 1
11269 11600 2 105000040 1
11270 11601 2 106000020 1
11271 11602 2 106000030 1
11272 11603 2 106000040 1
11273 11604 2 107000020 1
11274 11605 2 107000030 1
11275 11606 2 107000040 1
11276 11607 2 108000020 1
11277 11608 2 108000030 1
11278 11609 2 108000040 1
11279 11610 2 109000020 1
11280 11611 2 109000030 1
11281 11612 2 109000040 1
11282 11613 2 110000020 1
11283 11614 2 110000030 1
11284 11615 2 110000040 1
11285 11616 2 118000010 1
11286 11617 3 101000050 1
11287 11618 3 101000060 1
11288 11619 3 101000080 1
11289 11620 3 101000040 1
11290 11621 3 109000060 1
11291 11622 3 109000070 1
11292 11623 3 109000080 1
11293 11624 3 105000060 1
11294 11625 3 105000070 1
11295 11626 3 105000080 1
11296 11627 3 104000050 1
11297 11628 3 106000050 1
11298 11629 3 102000060 1
11299 11630 3 102000070 1
11300 11631 3 102000080 1
11301 11632 3 103000050 1
11302 11633 3 105000050 1
11303 11634 3 107000060 1
11304 11635 3 107000070 1
11305 11636 3 107000080 1
11306 11637 3 108000050 1
11307 11638 3 109000050 1
11308 11639 3 103000060 1
11309 11640 3 103000070 1
11310 11641 3 103000080 1
11311 11642 3 110000050 1
11312 11643 3 106000060 1
11313 11644 3 106000070 1
11314 11645 3 106000080 1
11315 11646 3 101000070 1
11316 11647 3 110000060 1
11317 11648 3 104000060 1
11318 11649 3 104000070 1
11319 11650 3 104000080 1
11320 11651 3 102000050 1
11321 11652 3 104000170 1
11322 11653 3 104000260 1
11323 11654 3 111000010 1
11324 11655 3 111000020 1
11325 11656 3 111000030 1
11326 11657 3 112000020 1
11327 11658 3 112000030 1
11328 11659 3 108000060 1
11329 11660 3 108000070 1
11330 11661 3 108000080 1
11331 11662 3 107000050 1
11332 11663 3 112000010 1
11333 11664 3 110000070 1
11334 11665 3 110000080 1
11335 11666 3 118000020 1
11336 11667 3 118000030 1
11337 11668 3 118000040 1
11338 11669 4 101000090 1
11339 11670 4 101000100 1
11340 11671 4 101000110 1
11341 11672 4 109000100 1
11342 11673 4 105000100 1
11343 11674 4 105000110 1
11344 11675 4 108000090 1
11345 11676 4 110000090 1
11346 11677 4 102000100 1
11347 11678 4 102000110 1
11348 11679 4 106000090 1
11349 11680 4 109000090 1
11350 11681 4 107000100 1
11351 11682 4 103000090 1
11352 11683 4 102000090 1
11353 11684 4 103000100 1
11354 11685 4 106000100 1
11355 11686 4 106000110 1
11356 11687 4 104000090 1
11357 11688 4 104000100 1
11358 11689 4 104000110 1
11359 11690 4 107000090 1
11360 11691 4 104000180 1
11361 11692 4 111000040 1
11362 11693 4 112000040 1
11363 11694 4 108000100 1
11364 11695 4 105000090 1
11365 11696 4 110000100 1
11366 11697 4 118000050 1
11367 11698 4 118000060 1
11368 11699 5 101000120 1
11369 11700 5 109000110 1
11370 11701 5 105000120 1
11371 11702 5 102000120 1
11372 11703 5 107000110 1
11373 11704 5 103000120 1
11374 11705 5 106000120 1
11375 11706 5 104000120 1
11376 11707 5 104000190 1
11377 11708 5 111000060 1
11378 11709 5 112000060 1
11379 11710 5 108000110 1
11380 11711 5 110000110 1
11381 11712 5 118000070 1
11382 11713 1 201000010 8
11383 11714 1 292000010 8
11384 11715 1 299000040 8
11385 11716 1 299000070 8
11386 11717 1 299000110 8
11387 11718 1 299000120 8
11388 11719 1 299000140 8
11389 11720 2 202000010 8
11390 11721 2 290000010 8
11391 11722 2 299000010 8
11392 11723 2 299000150 8
11393 11724 2 299000190 8
11394 11725 2 299000200 8
11395 11726 2 299000210 8
11396 11727 3 298000050 8
11397 11728 3 298000060 8
11398 11729 3 299000060 8
11399 11730 3 299000170 8
11400 11731 3 290000120 8
11401 11732 3 291000050 8
11402 11733 3 292000020 8
11403 11734 4 299000670 8
11404 11735 4 299000680 8
11405 11736 4 204000010 8
11406 11737 4 209000040 8
11407 11738 4 202000070 8
11408 11739 4 209000070 8
11409 11740 5 297000100 8
11410 11741 5 291000020 8
11411 11742 5 297000130 8
11412 11743 5 297000140 8
11413 11744 5 203000010 8
11414 11745 5 206000030 8
11415 11746 5 203000050 8
11416 11747 5 202000090 8
11417 11748 2 170003 3
11418 11749 2 180003 3
11419 11750 3 170004 3
11420 11751 3 180004 3
11421 11752 4 140000 3
11422 11753 5 150010 3
11423 11754 5 150020 3
11424 11755 5 150030 3
11425 11756 5 150040 3
11426 11758 3 101000050 1
11427 11759 3 101000060 1
11428 11760 3 101000080 1
11429 11761 3 101000040 1
11430 11762 3 109000060 1
11431 11763 3 109000070 1
11432 11764 3 109000080 1
11433 11765 3 105000060 1
11434 11766 3 105000070 1
11435 11767 3 105000080 1
11436 11768 3 104000050 1
11437 11769 3 106000050 1
11438 11770 3 102000060 1
11439 11771 3 102000070 1
11440 11772 3 102000080 1
11441 11773 3 103000050 1
11442 11774 3 105000050 1
11443 11775 3 107000060 1
11444 11776 3 107000070 1
11445 11777 3 107000080 1
11446 11778 3 108000050 1
11447 11779 3 109000050 1
11448 11780 3 103000060 1
11449 11781 3 103000070 1
11450 11782 3 103000080 1
11451 11783 3 110000050 1
11452 11784 3 106000060 1
11453 11785 3 106000070 1
11454 11786 3 106000080 1
11455 11787 3 101000070 1
11456 11788 3 110000060 1
11457 11789 3 104000060 1
11458 11790 3 104000070 1
11459 11791 3 104000080 1
11460 11792 3 102000050 1
11461 11793 3 104000170 1
11462 11794 3 104000260 1
11463 11795 3 111000010 1
11464 11796 3 111000020 1
11465 11797 3 111000030 1
11466 11798 3 112000020 1
11467 11799 3 112000030 1
11468 11800 3 108000060 1
11469 11801 3 108000070 1
11470 11802 3 108000080 1
11471 11803 3 107000050 1
11472 11804 3 112000010 1
11473 11805 3 110000070 1
11474 11806 3 110000080 1
11475 11807 3 118000020 1
11476 11808 3 118000030 1
11477 11809 3 118000040 1
11478 11810 4 101000090 1
11479 11811 4 101000100 1
11480 11812 4 101000110 1
11481 11813 4 109000100 1
11482 11814 4 105000100 1
11483 11815 4 105000110 1
11484 11816 4 108000090 1
11485 11817 4 110000090 1
11486 11818 4 102000100 1
11487 11819 4 102000110 1
11488 11820 4 106000090 1
11489 11821 4 109000090 1
11490 11822 4 107000100 1
11491 11823 4 103000090 1
11492 11824 4 102000090 1
11493 11825 4 103000100 1
11494 11826 4 106000100 1
11495 11827 4 106000110 1
11496 11828 4 104000090 1
11497 11829 4 104000100 1
11498 11830 4 104000110 1
11499 11831 4 107000090 1
11500 11832 4 104000180 1
11501 11833 4 111000040 1
11502 11834 4 112000040 1
11503 11835 4 108000100 1
11504 11836 4 105000090 1
11505 11837 4 110000100 1
11506 11838 4 118000050 1
11507 11839 4 118000060 1
11508 11840 5 101000120 1
11509 11841 5 109000110 1
11510 11842 5 105000120 1
11511 11843 5 102000120 1
11512 11844 5 107000110 1
11513 11845 5 103000120 1
11514 11846 5 106000120 1
11515 11847 5 104000120 1
11516 11848 5 104000190 1
11517 11849 5 111000060 1
11518 11850 5 112000060 1
11519 11851 5 108000110 1
11520 11852 5 110000110 1
11521 11853 5 118000070 1
11522 11854 1 201000010 8
11523 11855 1 292000010 8
11524 11856 1 299000040 8
11525 11857 1 299000070 8
11526 11858 1 299000110 8
11527 11859 1 299000120 8
11528 11860 1 299000140 8
11529 11861 2 202000010 8
11530 11862 2 290000010 8
11531 11863 2 299000010 8
11532 11864 2 299000150 8
11533 11865 2 299000190 8
11534 11866 2 299000200 8
11535 11867 2 299000210 8
11536 11868 3 298000050 8
11537 11869 3 298000060 8
11538 11870 3 299000060 8
11539 11871 3 299000170 8
11540 11872 3 290000120 8
11541 11873 3 291000050 8
11542 11874 3 292000020 8
11543 11875 4 299000670 8
11544 11876 4 299000680 8
11545 11877 4 204000010 8
11546 11878 4 209000040 8
11547 11879 4 202000070 8
11548 11880 4 209000070 8
11549 11881 5 297000100 8
11550 11882 5 291000020 8
11551 11883 5 297000130 8
11552 11884 5 297000140 8
11553 11885 5 203000010 8
11554 11886 5 206000030 8
11555 11887 5 203000050 8
11556 11888 5 202000090 8
11557 11889 3 170004 3
11558 11890 3 180004 3
11559 11891 4 140000 3
11560 11892 5 150010 3
11561 11893 5 150020 3
11562 11894 5 150030 3
11563 11895 5 150040 3
11564 11897 3 101000050 1
11565 11898 3 101000060 1
11566 11899 3 101000080 1
11567 11900 3 101000040 1
11568 11901 3 109000060 1
11569 11902 3 109000070 1
11570 11903 3 109000080 1
11571 11904 3 105000060 1
11572 11905 3 105000070 1
11573 11906 3 105000080 1
11574 11907 3 104000050 1
11575 11908 3 106000050 1
11576 11909 3 102000060 1
11577 11910 3 102000070 1
11578 11911 3 102000080 1
11579 11912 3 103000050 1
11580 11913 3 105000050 1
11581 11914 3 107000060 1
11582 11915 3 107000070 1
11583 11916 3 107000080 1
11584 11917 3 108000050 1
11585 11918 3 109000050 1
11586 11919 3 103000060 1
11587 11920 3 103000070 1
11588 11921 3 103000080 1
11589 11922 3 110000050 1
11590 11923 3 106000060 1
11591 11924 3 106000070 1
11592 11925 3 106000080 1
11593 11926 3 101000070 1
11594 11927 3 110000060 1
11595 11928 3 104000060 1
11596 11929 3 104000070 1
11597 11930 3 104000080 1
11598 11931 3 102000050 1
11599 11932 3 104000170 1
11600 11933 3 104000260 1
11601 11934 3 111000010 1
11602 11935 3 111000020 1
11603 11936 3 111000030 1
11604 11937 3 112000020 1
11605 11938 3 112000030 1
11606 11939 3 108000060 1
11607 11940 3 108000070 1
11608 11941 3 108000080 1
11609 11942 3 107000050 1
11610 11943 3 112000010 1
11611 11944 3 110000070 1
11612 11945 3 110000080 1
11613 11946 3 118000020 1
11614 11947 3 118000030 1
11615 11948 3 118000040 1
11616 11949 4 101000090 1
11617 11950 4 101000100 1
11618 11951 4 101000110 1
11619 11952 4 109000100 1
11620 11953 4 105000100 1
11621 11954 4 105000110 1
11622 11955 4 108000090 1
11623 11956 4 110000090 1
11624 11957 4 102000100 1
11625 11958 4 102000110 1
11626 11959 4 106000090 1
11627 11960 4 109000090 1
11628 11961 4 107000100 1
11629 11962 4 103000090 1
11630 11963 4 102000090 1
11631 11964 4 103000100 1
11632 11965 4 106000100 1
11633 11966 4 106000110 1
11634 11967 4 104000090 1
11635 11968 4 104000100 1
11636 11969 4 104000110 1
11637 11970 4 107000090 1
11638 11971 4 104000180 1
11639 11972 4 111000040 1
11640 11973 4 112000040 1
11641 11974 4 108000100 1
11642 11975 4 105000090 1
11643 11976 4 110000100 1
11644 11977 4 118000050 1
11645 11978 4 118000060 1
11646 11979 5 101000120 1
11647 11980 5 109000110 1
11648 11981 5 105000120 1
11649 11982 5 102000120 1
11650 11983 5 107000110 1
11651 11984 5 103000120 1
11652 11985 5 106000120 1
11653 11986 5 104000120 1
11654 11987 5 104000190 1
11655 11988 5 111000060 1
11656 11989 5 112000060 1
11657 11990 5 108000110 1
11658 11991 5 110000110 1
11659 11992 5 118000070 1
11660 11993 1 201000010 8
11661 11994 1 292000010 8
11662 11995 1 299000040 8
11663 11996 1 299000070 8
11664 11997 1 299000110 8
11665 11998 1 299000120 8
11666 11999 1 299000140 8
11667 12000 2 202000010 8
11668 12001 2 290000010 8
11669 12002 2 299000010 8
11670 12003 2 299000150 8
11671 12004 2 299000190 8
11672 12005 2 299000200 8
11673 12006 2 299000210 8
11674 12007 3 298000050 8
11675 12008 3 298000060 8
11676 12009 3 299000060 8
11677 12010 3 299000170 8
11678 12011 3 290000120 8
11679 12012 3 291000050 8
11680 12013 3 292000020 8
11681 12014 4 299000670 8
11682 12015 4 299000680 8
11683 12016 4 204000010 8
11684 12017 4 209000040 8
11685 12018 4 202000070 8
11686 12019 4 209000070 8
11687 12020 5 297000100 8
11688 12021 5 291000020 8
11689 12022 5 297000130 8
11690 12023 5 297000140 8
11691 12024 5 203000010 8
11692 12025 5 206000030 8
11693 12026 5 203000050 8
11694 12027 5 202000090 8
11695 12028 3 170004 3
11696 12029 3 180004 3
11697 12030 4 140000 3
11698 12031 5 150010 3
11699 12032 5 150020 3
11700 12033 5 150030 3
11701 12034 5 150040 3
11702 12036 3 101000050 1
11703 12037 3 101000060 1
11704 12038 3 101000080 1
11705 12039 3 101000040 1
11706 12040 3 109000060 1
11707 12041 3 109000070 1
11708 12042 3 109000080 1
11709 12043 3 105000060 1
11710 12044 3 105000070 1
11711 12045 3 105000080 1
11712 12046 3 104000050 1
11713 12047 3 106000050 1
11714 12048 3 102000060 1
11715 12049 3 102000070 1
11716 12050 3 102000080 1
11717 12051 3 103000050 1
11718 12052 3 105000050 1
11719 12053 3 107000060 1
11720 12054 3 107000070 1
11721 12055 3 107000080 1
11722 12056 3 108000050 1
11723 12057 3 109000050 1
11724 12058 3 103000060 1
11725 12059 3 103000070 1
11726 12060 3 103000080 1
11727 12061 3 110000050 1
11728 12062 3 106000060 1
11729 12063 3 106000070 1
11730 12064 3 106000080 1
11731 12065 3 101000070 1
11732 12066 3 110000060 1
11733 12067 3 104000060 1
11734 12068 3 104000070 1
11735 12069 3 104000080 1
11736 12070 3 102000050 1
11737 12071 3 104000170 1
11738 12072 3 104000260 1
11739 12073 3 111000010 1
11740 12074 3 111000020 1
11741 12075 3 111000030 1
11742 12076 3 112000020 1
11743 12077 3 112000030 1
11744 12078 3 108000060 1
11745 12079 3 108000070 1
11746 12080 3 108000080 1
11747 12081 3 107000050 1
11748 12082 3 112000010 1
11749 12083 3 110000070 1
11750 12084 3 110000080 1
11751 12085 3 118000020 1
11752 12086 3 118000030 1
11753 12087 3 118000040 1
11754 12088 4 101000090 1
11755 12089 4 101000100 1
11756 12090 4 101000110 1
11757 12091 4 109000100 1
11758 12092 4 105000100 1
11759 12093 4 105000110 1
11760 12094 4 108000090 1
11761 12095 4 110000090 1
11762 12096 4 102000100 1
11763 12097 4 102000110 1
11764 12098 4 106000090 1
11765 12099 4 109000090 1
11766 12100 4 107000100 1
11767 12101 4 103000090 1
11768 12102 4 102000090 1
11769 12103 4 103000100 1
11770 12104 4 106000100 1
11771 12105 4 106000110 1
11772 12106 4 104000090 1
11773 12107 4 104000100 1
11774 12108 4 104000110 1
11775 12109 4 107000090 1
11776 12110 4 104000180 1
11777 12111 4 111000040 1
11778 12112 4 112000040 1
11779 12113 4 108000100 1
11780 12114 4 105000090 1
11781 12115 4 110000100 1
11782 12116 4 118000050 1
11783 12117 4 118000060 1
11784 12118 5 101000120 1
11785 12119 5 109000110 1
11786 12120 5 105000120 1
11787 12121 5 102000120 1
11788 12122 5 107000110 1
11789 12123 5 103000120 1
11790 12124 5 106000120 1
11791 12125 5 104000120 1
11792 12126 5 104000190 1
11793 12127 5 111000060 1
11794 12128 5 112000060 1
11795 12129 5 108000110 1
11796 12130 5 110000110 1
11797 12131 5 118000070 1
11798 12132 1 201000010 8
11799 12133 1 292000010 8
11800 12134 1 299000040 8
11801 12135 1 299000070 8
11802 12136 1 299000110 8
11803 12137 1 299000120 8
11804 12138 1 299000140 8
11805 12139 2 202000010 8
11806 12140 2 290000010 8
11807 12141 2 299000010 8
11808 12142 2 299000150 8
11809 12143 2 299000190 8
11810 12144 2 299000200 8
11811 12145 2 299000210 8
11812 12146 3 298000050 8
11813 12147 3 298000060 8
11814 12148 3 299000060 8
11815 12149 3 299000170 8
11816 12150 3 290000120 8
11817 12151 3 291000050 8
11818 12152 3 292000020 8
11819 12153 4 299000670 8
11820 12154 4 299000680 8
11821 12155 4 204000010 8
11822 12156 4 209000040 8
11823 12157 4 202000070 8
11824 12158 4 209000070 8
11825 12159 5 297000100 8
11826 12160 5 291000020 8
11827 12161 5 297000130 8
11828 12162 5 297000140 8
11829 12163 5 203000010 8
11830 12164 5 206000030 8
11831 12165 5 203000050 8
11832 12166 5 202000090 8
11833 12167 3 170004 3
11834 12168 3 180004 3
11835 12169 4 140000 3
11836 12170 5 150010 3
11837 12171 5 150020 3
11838 12172 5 150030 3
11839 12173 5 150040 3
11840 12174 5 190000 3
11841 12175 5 200000 3
11842 12176 5 210000 3
11843 12178 1 101000010 1
11844 12179 1 102000010 1
11845 12180 1 103000010 1
11846 12181 1 104000010 1
11847 12182 1 105000010 1
11848 12183 1 106000010 1
11849 12184 1 107000010 1
11850 12185 1 108000010 1
11851 12186 1 109000010 1
11852 12187 1 110000010 1
11853 12188 2 101000020 1
11854 12189 2 101000030 1
11855 12190 2 102000020 1
11856 12191 2 102000030 1
11857 12192 2 102000040 1
11858 12193 2 103000020 1
11859 12194 2 103000030 1
11860 12195 2 103000040 1
11861 12196 2 104000020 1
11862 12197 2 104000030 1
11863 12198 2 104000040 1
11864 12199 2 105000020 1
11865 12200 2 105000030 1
11866 12201 2 105000040 1
11867 12202 2 106000020 1
11868 12203 2 106000030 1
11869 12204 2 106000040 1
11870 12205 2 107000020 1
11871 12206 2 107000030 1
11872 12207 2 107000040 1
11873 12208 2 108000020 1
11874 12209 2 108000030 1
11875 12210 2 108000040 1
11876 12211 2 109000020 1
11877 12212 2 109000030 1
11878 12213 2 109000040 1
11879 12214 2 110000020 1
11880 12215 2 110000030 1
11881 12216 2 110000040 1
11882 12217 2 118000010 1
11883 12218 3 101000050 1
11884 12219 3 101000060 1
11885 12220 3 101000080 1
11886 12221 3 101000040 1
11887 12222 3 109000060 1
11888 12223 3 109000070 1
11889 12224 3 109000080 1
11890 12225 3 105000060 1
11891 12226 3 105000070 1
11892 12227 3 105000080 1
11893 12228 3 104000050 1
11894 12229 3 106000050 1
11895 12230 3 102000060 1
11896 12231 3 102000070 1
11897 12232 3 102000080 1
11898 12233 3 103000050 1
11899 12234 3 105000050 1
11900 12235 3 107000060 1
11901 12236 3 107000070 1
11902 12237 3 107000080 1
11903 12238 3 108000050 1
11904 12239 3 109000050 1
11905 12240 3 103000060 1
11906 12241 3 103000070 1
11907 12242 3 103000080 1
11908 12243 3 110000050 1
11909 12244 3 106000060 1
11910 12245 3 106000070 1
11911 12246 3 106000080 1
11912 12247 3 101000070 1
11913 12248 3 110000060 1
11914 12249 3 104000060 1
11915 12250 3 104000070 1
11916 12251 3 104000080 1
11917 12252 3 102000050 1
11918 12253 3 104000170 1
11919 12254 3 104000260 1
11920 12255 3 111000010 1
11921 12256 3 111000020 1
11922 12257 3 111000030 1
11923 12258 3 112000020 1
11924 12259 3 112000030 1
11925 12260 3 108000060 1
11926 12261 3 108000070 1
11927 12262 3 108000080 1
11928 12263 3 107000050 1
11929 12264 3 112000010 1
11930 12265 3 110000070 1
11931 12266 3 110000080 1
11932 12267 3 118000020 1
11933 12268 3 118000030 1
11934 12269 3 118000040 1
11935 12270 4 101000090 1
11936 12271 4 101000100 1
11937 12272 4 101000110 1
11938 12273 4 109000100 1
11939 12274 4 105000100 1
11940 12275 4 105000110 1
11941 12276 4 108000090 1
11942 12277 4 110000090 1
11943 12278 4 102000100 1
11944 12279 4 102000110 1
11945 12280 4 106000090 1
11946 12281 4 109000090 1
11947 12282 4 107000100 1
11948 12283 4 103000090 1
11949 12284 4 102000090 1
11950 12285 4 103000100 1
11951 12286 4 106000100 1
11952 12287 4 106000110 1
11953 12288 4 104000090 1
11954 12289 4 104000100 1
11955 12290 4 104000110 1
11956 12291 4 107000090 1
11957 12292 4 104000180 1
11958 12293 4 111000040 1
11959 12294 4 112000040 1
11960 12295 4 108000100 1
11961 12296 4 105000090 1
11962 12297 4 110000100 1
11963 12298 4 118000050 1
11964 12299 4 118000060 1
11965 12300 5 101000120 1
11966 12301 5 109000110 1
11967 12302 5 105000120 1
11968 12303 5 102000120 1
11969 12304 5 107000110 1
11970 12305 5 103000120 1
11971 12306 5 106000120 1
11972 12307 5 104000120 1
11973 12308 5 104000190 1
11974 12309 5 111000060 1
11975 12310 5 112000060 1
11976 12311 5 108000110 1
11977 12312 5 110000110 1
11978 12313 5 118000070 1
11979 12314 1 201000010 8
11980 12315 1 292000010 8
11981 12316 1 299000040 8
11982 12317 1 299000070 8
11983 12318 1 299000110 8
11984 12319 1 299000120 8
11985 12320 1 299000140 8
11986 12321 2 202000010 8
11987 12322 2 290000010 8
11988 12323 2 299000010 8
11989 12324 2 299000150 8
11990 12325 2 299000190 8
11991 12326 2 299000200 8
11992 12327 2 299000210 8
11993 12328 3 298000050 8
11994 12329 3 298000060 8
11995 12330 3 299000060 8
11996 12331 3 299000170 8
11997 12332 3 290000120 8
11998 12333 3 291000050 8
11999 12334 3 292000020 8
12000 12335 4 299000670 8
12001 12336 4 299000680 8
12002 12337 4 204000010 8
12003 12338 4 209000040 8
12004 12339 4 202000070 8
12005 12340 4 209000070 8
12006 12341 4 203000110 8
12007 12342 5 297000100 8
12008 12343 5 291000020 8
12009 12344 5 297000130 8
12010 12345 5 297000140 8
12011 12346 5 203000010 8
12012 12347 5 206000030 8
12013 12348 5 203000050 8
12014 12349 5 202000090 8
12015 12350 5 204000080 8
12016 12351 1 170002 3
12017 12352 1 180002 3
12018 12353 2 170003 3
12019 12354 2 180003 3
12020 12355 3 170004 3
12021 12356 3 180004 3
12022 12357 4 140000 3
12023 12358 5 150010 3
12024 12359 5 150020 3
12025 12360 5 150030 3
12026 12361 5 150040 3
12027 12363 1 101000010 1
12028 12364 1 102000010 1
12029 12365 1 103000010 1
12030 12366 1 104000010 1
12031 12367 1 105000010 1
12032 12368 1 106000010 1
12033 12369 1 107000010 1
12034 12370 1 108000010 1
12035 12371 1 109000010 1
12036 12372 1 110000010 1
12037 12373 2 101000020 1
12038 12374 2 101000030 1
12039 12375 2 102000020 1
12040 12376 2 102000030 1
12041 12377 2 102000040 1
12042 12378 2 103000020 1
12043 12379 2 103000030 1
12044 12380 2 103000040 1
12045 12381 2 104000020 1
12046 12382 2 104000030 1
12047 12383 2 104000040 1
12048 12384 2 105000020 1
12049 12385 2 105000030 1
12050 12386 2 105000040 1
12051 12387 2 106000020 1
12052 12388 2 106000030 1
12053 12389 2 106000040 1
12054 12390 2 107000020 1
12055 12391 2 107000030 1
12056 12392 2 107000040 1
12057 12393 2 108000020 1
12058 12394 2 108000030 1
12059 12395 2 108000040 1
12060 12396 2 109000020 1
12061 12397 2 109000030 1
12062 12398 2 109000040 1
12063 12399 2 110000020 1
12064 12400 2 110000030 1
12065 12401 2 110000040 1
12066 12402 2 118000010 1
12067 12403 3 101000050 1
12068 12404 3 101000060 1
12069 12405 3 101000080 1
12070 12406 3 101000040 1
12071 12407 3 109000060 1
12072 12408 3 109000070 1
12073 12409 3 109000080 1
12074 12410 3 105000060 1
12075 12411 3 105000070 1
12076 12412 3 105000080 1
12077 12413 3 104000050 1
12078 12414 3 106000050 1
12079 12415 3 102000060 1
12080 12416 3 102000070 1
12081 12417 3 102000080 1
12082 12418 3 103000050 1
12083 12419 3 105000050 1
12084 12420 3 107000060 1
12085 12421 3 107000070 1
12086 12422 3 107000080 1
12087 12423 3 108000050 1
12088 12424 3 109000050 1
12089 12425 3 103000060 1
12090 12426 3 103000070 1
12091 12427 3 103000080 1
12092 12428 3 110000050 1
12093 12429 3 106000060 1
12094 12430 3 106000070 1
12095 12431 3 106000080 1
12096 12432 3 101000070 1
12097 12433 3 110000060 1
12098 12434 3 104000060 1
12099 12435 3 104000070 1
12100 12436 3 104000080 1
12101 12437 3 102000050 1
12102 12438 3 104000170 1
12103 12439 3 104000260 1
12104 12440 3 111000010 1
12105 12441 3 111000020 1
12106 12442 3 111000030 1
12107 12443 3 112000020 1
12108 12444 3 112000030 1
12109 12445 3 108000060 1
12110 12446 3 108000070 1
12111 12447 3 108000080 1
12112 12448 3 107000050 1
12113 12449 3 112000010 1
12114 12450 3 110000070 1
12115 12451 3 110000080 1
12116 12452 3 118000020 1
12117 12453 3 118000030 1
12118 12454 3 118000040 1
12119 12455 4 101000090 1
12120 12456 4 101000100 1
12121 12457 4 101000110 1
12122 12458 4 109000100 1
12123 12459 4 105000100 1
12124 12460 4 105000110 1
12125 12461 4 108000090 1
12126 12462 4 110000090 1
12127 12463 4 102000100 1
12128 12464 4 102000110 1
12129 12465 4 106000090 1
12130 12466 4 109000090 1
12131 12467 4 107000100 1
12132 12468 4 103000090 1
12133 12469 4 102000090 1
12134 12470 4 103000100 1
12135 12471 4 106000100 1
12136 12472 4 106000110 1
12137 12473 4 104000090 1
12138 12474 4 104000100 1
12139 12475 4 104000110 1
12140 12476 4 107000090 1
12141 12477 4 104000180 1
12142 12478 4 111000040 1
12143 12479 4 112000040 1
12144 12480 4 108000100 1
12145 12481 4 105000090 1
12146 12482 4 110000100 1
12147 12483 4 118000050 1
12148 12484 4 118000060 1
12149 12485 5 101000120 1
12150 12486 5 109000110 1
12151 12487 5 105000120 1
12152 12488 5 102000120 1
12153 12489 5 107000110 1
12154 12490 5 103000120 1
12155 12491 5 106000120 1
12156 12492 5 104000120 1
12157 12493 5 104000190 1
12158 12494 5 111000060 1
12159 12495 5 112000060 1
12160 12496 5 108000110 1
12161 12497 5 110000110 1
12162 12498 5 118000070 1
12163 12499 1 201000010 8
12164 12500 1 292000010 8
12165 12501 1 299000040 8
12166 12502 1 299000070 8
12167 12503 1 299000110 8
12168 12504 1 299000120 8
12169 12505 1 299000140 8
12170 12506 2 202000010 8
12171 12507 2 290000010 8
12172 12508 2 299000010 8
12173 12509 2 299000150 8
12174 12510 2 299000190 8
12175 12511 2 299000200 8
12176 12512 2 299000210 8
12177 12513 3 298000050 8
12178 12514 3 298000060 8
12179 12515 3 299000060 8
12180 12516 3 299000170 8
12181 12517 3 290000120 8
12182 12518 3 291000050 8
12183 12519 3 292000020 8
12184 12520 4 299000670 8
12185 12521 4 299000680 8
12186 12522 4 204000010 8
12187 12523 4 209000040 8
12188 12524 4 202000070 8
12189 12525 4 209000070 8
12190 12526 4 203000110 8
12191 12527 5 297000100 8
12192 12528 5 291000020 8
12193 12529 5 297000130 8
12194 12530 5 297000140 8
12195 12531 5 203000010 8
12196 12532 5 206000030 8
12197 12533 5 203000050 8
12198 12534 5 202000090 8
12199 12535 5 204000080 8
12200 12536 2 170003 3
12201 12537 2 180003 3
12202 12538 3 170004 3
12203 12539 3 180004 3
12204 12540 4 140000 3
12205 12541 5 150010 3
12206 12542 5 150020 3
12207 12543 5 150030 3
12208 12544 5 150040 3
12209 12546 3 101000050 1
12210 12547 3 101000060 1
12211 12548 3 101000080 1
12212 12549 3 101000040 1
12213 12550 3 109000060 1
12214 12551 3 109000070 1
12215 12552 3 109000080 1
12216 12553 3 105000060 1
12217 12554 3 105000070 1
12218 12555 3 105000080 1
12219 12556 3 104000050 1
12220 12557 3 106000050 1
12221 12558 3 102000060 1
12222 12559 3 102000070 1
12223 12560 3 102000080 1
12224 12561 3 103000050 1
12225 12562 3 105000050 1
12226 12563 3 107000060 1
12227 12564 3 107000070 1
12228 12565 3 107000080 1
12229 12566 3 108000050 1
12230 12567 3 109000050 1
12231 12568 3 103000060 1
12232 12569 3 103000070 1
12233 12570 3 103000080 1
12234 12571 3 110000050 1
12235 12572 3 106000060 1
12236 12573 3 106000070 1
12237 12574 3 106000080 1
12238 12575 3 101000070 1
12239 12576 3 110000060 1
12240 12577 3 104000060 1
12241 12578 3 104000070 1
12242 12579 3 104000080 1
12243 12580 3 102000050 1
12244 12581 3 104000170 1
12245 12582 3 104000260 1
12246 12583 3 111000010 1
12247 12584 3 111000020 1
12248 12585 3 111000030 1
12249 12586 3 112000020 1
12250 12587 3 112000030 1
12251 12588 3 108000060 1
12252 12589 3 108000070 1
12253 12590 3 108000080 1
12254 12591 3 107000050 1
12255 12592 3 112000010 1
12256 12593 3 110000070 1
12257 12594 3 110000080 1
12258 12595 3 118000020 1
12259 12596 3 118000030 1
12260 12597 3 118000040 1
12261 12598 4 101000090 1
12262 12599 4 101000100 1
12263 12600 4 101000110 1
12264 12601 4 109000100 1
12265 12602 4 105000100 1
12266 12603 4 105000110 1
12267 12604 4 108000090 1
12268 12605 4 110000090 1
12269 12606 4 102000100 1
12270 12607 4 102000110 1
12271 12608 4 106000090 1
12272 12609 4 109000090 1
12273 12610 4 107000100 1
12274 12611 4 103000090 1
12275 12612 4 102000090 1
12276 12613 4 103000100 1
12277 12614 4 106000100 1
12278 12615 4 106000110 1
12279 12616 4 104000090 1
12280 12617 4 104000100 1
12281 12618 4 104000110 1
12282 12619 4 107000090 1
12283 12620 4 104000180 1
12284 12621 4 111000040 1
12285 12622 4 112000040 1
12286 12623 4 108000100 1
12287 12624 4 105000090 1
12288 12625 4 110000100 1
12289 12626 4 118000050 1
12290 12627 4 118000060 1
12291 12628 5 101000120 1
12292 12629 5 109000110 1
12293 12630 5 105000120 1
12294 12631 5 102000120 1
12295 12632 5 107000110 1
12296 12633 5 103000120 1
12297 12634 5 106000120 1
12298 12635 5 104000120 1
12299 12636 5 104000190 1
12300 12637 5 111000060 1
12301 12638 5 112000060 1
12302 12639 5 108000110 1
12303 12640 5 110000110 1
12304 12641 5 118000070 1
12305 12642 1 201000010 8
12306 12643 1 292000010 8
12307 12644 1 299000040 8
12308 12645 1 299000070 8
12309 12646 1 299000110 8
12310 12647 1 299000120 8
12311 12648 1 299000140 8
12312 12649 2 202000010 8
12313 12650 2 290000010 8
12314 12651 2 299000010 8
12315 12652 2 299000150 8
12316 12653 2 299000190 8
12317 12654 2 299000200 8
12318 12655 2 299000210 8
12319 12656 3 298000050 8
12320 12657 3 298000060 8
12321 12658 3 299000060 8
12322 12659 3 299000170 8
12323 12660 3 290000120 8
12324 12661 3 291000050 8
12325 12662 3 292000020 8
12326 12663 4 299000670 8
12327 12664 4 299000680 8
12328 12665 4 204000010 8
12329 12666 4 209000040 8
12330 12667 4 202000070 8
12331 12668 4 209000070 8
12332 12669 4 203000110 8
12333 12670 5 297000100 8
12334 12671 5 291000020 8
12335 12672 5 297000130 8
12336 12673 5 297000140 8
12337 12674 5 203000010 8
12338 12675 5 206000030 8
12339 12676 5 203000050 8
12340 12677 5 202000090 8
12341 12678 5 204000080 8
12342 12679 3 170004 3
12343 12680 3 180004 3
12344 12681 4 140000 3
12345 12682 5 150010 3
12346 12683 5 150020 3
12347 12684 5 150030 3
12348 12685 5 150040 3
12349 12687 3 101000050 1
12350 12688 3 101000060 1
12351 12689 3 101000080 1
12352 12690 3 101000040 1
12353 12691 3 109000060 1
12354 12692 3 109000070 1
12355 12693 3 109000080 1
12356 12694 3 105000060 1
12357 12695 3 105000070 1
12358 12696 3 105000080 1
12359 12697 3 104000050 1
12360 12698 3 106000050 1
12361 12699 3 102000060 1
12362 12700 3 102000070 1
12363 12701 3 102000080 1
12364 12702 3 103000050 1
12365 12703 3 105000050 1
12366 12704 3 107000060 1
12367 12705 3 107000070 1
12368 12706 3 107000080 1
12369 12707 3 108000050 1
12370 12708 3 109000050 1
12371 12709 3 103000060 1
12372 12710 3 103000070 1
12373 12711 3 103000080 1
12374 12712 3 110000050 1
12375 12713 3 106000060 1
12376 12714 3 106000070 1
12377 12715 3 106000080 1
12378 12716 3 101000070 1
12379 12717 3 110000060 1
12380 12718 3 104000060 1
12381 12719 3 104000070 1
12382 12720 3 104000080 1
12383 12721 3 102000050 1
12384 12722 3 104000170 1
12385 12723 3 104000260 1
12386 12724 3 111000010 1
12387 12725 3 111000020 1
12388 12726 3 111000030 1
12389 12727 3 112000020 1
12390 12728 3 112000030 1
12391 12729 3 108000060 1
12392 12730 3 108000070 1
12393 12731 3 108000080 1
12394 12732 3 107000050 1
12395 12733 3 112000010 1
12396 12734 3 110000070 1
12397 12735 3 110000080 1
12398 12736 3 118000020 1
12399 12737 3 118000030 1
12400 12738 3 118000040 1
12401 12739 4 101000090 1
12402 12740 4 101000100 1
12403 12741 4 101000110 1
12404 12742 4 109000100 1
12405 12743 4 105000100 1
12406 12744 4 105000110 1
12407 12745 4 108000090 1
12408 12746 4 110000090 1
12409 12747 4 102000100 1
12410 12748 4 102000110 1
12411 12749 4 106000090 1
12412 12750 4 109000090 1
12413 12751 4 107000100 1
12414 12752 4 103000090 1
12415 12753 4 102000090 1
12416 12754 4 103000100 1
12417 12755 4 106000100 1
12418 12756 4 106000110 1
12419 12757 4 104000090 1
12420 12758 4 104000100 1
12421 12759 4 104000110 1
12422 12760 4 107000090 1
12423 12761 4 104000180 1
12424 12762 4 111000040 1
12425 12763 4 112000040 1
12426 12764 4 108000100 1
12427 12765 4 105000090 1
12428 12766 4 110000100 1
12429 12767 4 118000050 1
12430 12768 4 118000060 1
12431 12769 5 101000120 1
12432 12770 5 109000110 1
12433 12771 5 105000120 1
12434 12772 5 102000120 1
12435 12773 5 107000110 1
12436 12774 5 103000120 1
12437 12775 5 106000120 1
12438 12776 5 104000120 1
12439 12777 5 104000190 1
12440 12778 5 111000060 1
12441 12779 5 112000060 1
12442 12780 5 108000110 1
12443 12781 5 110000110 1
12444 12782 5 118000070 1
12445 12783 1 201000010 8
12446 12784 1 292000010 8
12447 12785 1 299000040 8
12448 12786 1 299000070 8
12449 12787 1 299000110 8
12450 12788 1 299000120 8
12451 12789 1 299000140 8
12452 12790 2 202000010 8
12453 12791 2 290000010 8
12454 12792 2 299000010 8
12455 12793 2 299000150 8
12456 12794 2 299000190 8
12457 12795 2 299000200 8
12458 12796 2 299000210 8
12459 12797 3 298000050 8
12460 12798 3 298000060 8
12461 12799 3 299000060 8
12462 12800 3 299000170 8
12463 12801 3 290000120 8
12464 12802 3 291000050 8
12465 12803 3 292000020 8
12466 12804 4 299000670 8
12467 12805 4 299000680 8
12468 12806 4 204000010 8
12469 12807 4 209000040 8
12470 12808 4 202000070 8
12471 12809 4 209000070 8
12472 12810 4 203000110 8
12473 12811 5 297000100 8
12474 12812 5 291000020 8
12475 12813 5 297000130 8
12476 12814 5 297000140 8
12477 12815 5 203000010 8
12478 12816 5 206000030 8
12479 12817 5 203000050 8
12480 12818 5 202000090 8
12481 12819 5 204000080 8
12482 12820 3 170004 3
12483 12821 3 180004 3
12484 12822 4 140000 3
12485 12823 5 150010 3
12486 12824 5 150020 3
12487 12825 5 150030 3
12488 12826 5 150040 3
12489 12828 3 101000050 1
12490 12829 3 101000060 1
12491 12830 3 101000080 1
12492 12831 3 101000040 1
12493 12832 3 109000060 1
12494 12833 3 109000070 1
12495 12834 3 109000080 1
12496 12835 3 105000060 1
12497 12836 3 105000070 1
12498 12837 3 105000080 1
12499 12838 3 104000050 1
12500 12839 3 106000050 1
12501 12840 3 102000060 1
12502 12841 3 102000070 1
12503 12842 3 102000080 1
12504 12843 3 103000050 1
12505 12844 3 105000050 1
12506 12845 3 107000060 1
12507 12846 3 107000070 1
12508 12847 3 107000080 1
12509 12848 3 108000050 1
12510 12849 3 109000050 1
12511 12850 3 103000060 1
12512 12851 3 103000070 1
12513 12852 3 103000080 1
12514 12853 3 110000050 1
12515 12854 3 106000060 1
12516 12855 3 106000070 1
12517 12856 3 106000080 1
12518 12857 3 101000070 1
12519 12858 3 110000060 1
12520 12859 3 104000060 1
12521 12860 3 104000070 1
12522 12861 3 104000080 1
12523 12862 3 102000050 1
12524 12863 3 104000170 1
12525 12864 3 104000260 1
12526 12865 3 111000010 1
12527 12866 3 111000020 1
12528 12867 3 111000030 1
12529 12868 3 112000020 1
12530 12869 3 112000030 1
12531 12870 3 108000060 1
12532 12871 3 108000070 1
12533 12872 3 108000080 1
12534 12873 3 107000050 1
12535 12874 3 112000010 1
12536 12875 3 110000070 1
12537 12876 3 110000080 1
12538 12877 3 118000020 1
12539 12878 3 118000030 1
12540 12879 3 118000040 1
12541 12880 4 101000090 1
12542 12881 4 101000100 1
12543 12882 4 101000110 1
12544 12883 4 109000100 1
12545 12884 4 105000100 1
12546 12885 4 105000110 1
12547 12886 4 108000090 1
12548 12887 4 110000090 1
12549 12888 4 102000100 1
12550 12889 4 102000110 1
12551 12890 4 106000090 1
12552 12891 4 109000090 1
12553 12892 4 107000100 1
12554 12893 4 103000090 1
12555 12894 4 102000090 1
12556 12895 4 103000100 1
12557 12896 4 106000100 1
12558 12897 4 106000110 1
12559 12898 4 104000090 1
12560 12899 4 104000100 1
12561 12900 4 104000110 1
12562 12901 4 107000090 1
12563 12902 4 104000180 1
12564 12903 4 111000040 1
12565 12904 4 112000040 1
12566 12905 4 108000100 1
12567 12906 4 105000090 1
12568 12907 4 110000100 1
12569 12908 4 118000050 1
12570 12909 4 118000060 1
12571 12910 5 101000120 1
12572 12911 5 109000110 1
12573 12912 5 105000120 1
12574 12913 5 102000120 1
12575 12914 5 107000110 1
12576 12915 5 103000120 1
12577 12916 5 106000120 1
12578 12917 5 104000120 1
12579 12918 5 104000190 1
12580 12919 5 111000060 1
12581 12920 5 112000060 1
12582 12921 5 108000110 1
12583 12922 5 110000110 1
12584 12923 5 118000070 1
12585 12924 1 201000010 8
12586 12925 1 292000010 8
12587 12926 1 299000040 8
12588 12927 1 299000070 8
12589 12928 1 299000110 8
12590 12929 1 299000120 8
12591 12930 1 299000140 8
12592 12931 2 202000010 8
12593 12932 2 290000010 8
12594 12933 2 299000010 8
12595 12934 2 299000150 8
12596 12935 2 299000190 8
12597 12936 2 299000200 8
12598 12937 2 299000210 8
12599 12938 3 298000050 8
12600 12939 3 298000060 8
12601 12940 3 299000060 8
12602 12941 3 299000170 8
12603 12942 3 290000120 8
12604 12943 3 291000050 8
12605 12944 3 292000020 8
12606 12945 4 299000670 8
12607 12946 4 299000680 8
12608 12947 4 204000010 8
12609 12948 4 209000040 8
12610 12949 4 202000070 8
12611 12950 4 209000070 8
12612 12951 4 203000110 8
12613 12952 5 297000100 8
12614 12953 5 291000020 8
12615 12954 5 297000130 8
12616 12955 5 297000140 8
12617 12956 5 203000010 8
12618 12957 5 206000030 8
12619 12958 5 203000050 8
12620 12959 5 202000090 8
12621 12960 5 204000080 8
12622 12961 3 170004 3
12623 12962 3 180004 3
12624 12963 4 140000 3
12625 12964 5 150010 3
12626 12965 5 150020 3
12627 12966 5 150030 3
12628 12967 5 150040 3
12629 12968 5 190000 3
12630 12969 5 200000 3
12631 12970 5 210000 3
12632 12972 3 102000060 1
12633 12973 3 102000070 1
12634 12974 3 102000080 1
12635 12975 3 103000050 1
12636 12976 3 105000050 1
12637 12977 3 107000060 1
12638 12978 3 107000070 1
12639 12979 3 107000080 1
12640 12980 3 108000050 1
12641 12981 3 109000050 1
12642 12982 3 103000060 1
12643 12983 3 103000070 1
12644 12984 3 103000080 1
12645 12985 3 110000050 1
12646 12986 4 102000100 1
12647 12987 4 102000110 1
12648 12988 4 102000350 1
12649 12989 4 106000090 1
12650 12990 4 109000090 1
12651 12991 4 107000100 1
12652 12992 4 103000090 1
12653 12993 4 102000090 1
12654 12994 4 103000100 1
12655 12995 5 102000120 1
12656 12996 5 107000110 1
12657 12997 5 103000120 1
12658 12998 1 102000000 2
12659 12999 2 102000001 2
12660 13000 3 102000002 2
12661 13001 4 102000003 2
12662 13002 5 102000004 2
12663 13003 1 105000000 2
12664 13004 2 105000001 2
12665 13005 3 105000002 2
12666 13006 4 105000003 2
12667 13007 5 105000004 2
12668 13008 1 112000000 2
12669 13009 2 112000001 2
12670 13010 3 112000002 2
12671 13011 4 112000003 2
12672 13012 5 112000004 2
12673 13013 3 170004 3
12674 13014 4 170005 3
12675 13015 3 180004 3
12676 13016 4 180005 3
12677 13017 4 140000 3
12678 13018 4 150010 3
12679 13019 4 150020 3
12680 13020 4 150030 3
12681 13021 4 150040 3
12682 13023 3 118000020 1
12683 13024 3 118000030 1
12684 13025 3 118000040 1
12685 13026 3 106000060 1
12686 13027 3 106000070 1
12687 13028 3 106000080 1
12688 13029 3 101000070 1
12689 13030 3 110000060 1
12690 13031 3 104000060 1
12691 13032 3 104000070 1
12692 13033 3 104000080 1
12693 13034 3 102000050 1
12694 13035 3 104000170 1
12695 13036 3 104000260 1
12696 13037 4 118000050 1
12697 13038 4 118000060 1
12698 13039 4 106000100 1
12699 13040 4 106000110 1
12700 13041 4 104000090 1
12701 13042 4 104000100 1
12702 13043 4 104000110 1
12703 13044 4 104000270 1
12704 13045 4 107000090 1
12705 13046 4 104000180 1
12706 13047 5 118000070 1
12707 13048 5 106000120 1
12708 13049 5 104000120 1
12709 13050 5 104000190 1
12710 13051 1 103000000 2
12711 13052 2 103000001 2
12712 13053 3 103000002 2
12713 13054 4 103000003 2
12714 13055 5 103000004 2
12715 13056 1 111000000 2
12716 13057 2 111000001 2
12717 13058 3 111000002 2
12718 13059 4 111000003 2
12719 13060 5 111000004 2
12720 13061 1 115000000 2
12721 13062 2 115000001 2
12722 13063 3 115000002 2
12723 13064 4 115000003 2
12724 13065 5 115000004 2
12725 13066 4 110024 3
12726 13067 4 110034 3
12727 13068 4 110044 3
12728 13069 4 110054 3
12729 13070 3 110060 3
12730 13071 3 110070 3
12731 13072 3 110080 3
12732 13073 3 110090 3
12733 13074 3 110100 3
12734 13075 3 110110 3
12735 13076 3 110120 3
12736 13077 3 110130 3
12737 13078 3 110140 3
12738 13079 3 110150 3
12739 13080 3 110160 3
12740 13081 3 110170 3
12741 13082 3 110180 3
12742 13083 3 110190 3
12743 13084 3 110200 3
12744 13085 3 110210 3
12745 13086 3 110220 3
12746 13087 3 110230 3
12747 13088 3 110240 3
12748 13089 3 110250 3
12749 13090 3 110260 3
12750 13091 3 110270 3
12751 13092 3 110620 3
12752 13093 3 110670 3
12753 13094 4 140000 3
12754 13095 4 150010 3
12755 13096 4 150020 3
12756 13097 4 150030 3
12757 13098 4 150040 3
12758 13100 3 111000010 1
12759 13101 3 111000020 1
12760 13102 3 111000030 1
12761 13103 3 112000020 1
12762 13104 3 112000030 1
12763 13105 3 108000060 1
12764 13106 3 108000070 1
12765 13107 3 108000080 1
12766 13108 3 107000050 1
12767 13109 3 112000010 1
12768 13110 3 110000070 1
12769 13111 3 110000080 1
12770 13112 4 111000040 1
12771 13113 4 112000040 1
12772 13114 4 108000100 1
12773 13115 4 105000090 1
12774 13116 4 110000100 1
12775 13117 5 111000060 1
12776 13118 5 112000060 1
12777 13119 5 108000110 1
12778 13120 5 110000110 1
12779 13121 1 108000000 2
12780 13122 2 108000001 2
12781 13123 3 108000002 2
12782 13124 4 108000003 2
12783 13125 5 108000004 2
12784 13126 1 107000000 2
12785 13127 2 107000001 2
12786 13128 3 107000002 2
12787 13129 4 107000003 2
12788 13130 5 107000004 2
12789 13131 1 120000000 2
12790 13132 2 120000001 2
12791 13133 3 120000002 2
12792 13134 4 120000003 2
12793 13135 5 120000004 2
12794 13136 4 120024 3
12795 13137 4 120034 3
12796 13138 4 120044 3
12797 13139 4 120054 3
12798 13140 3 120241 3
12799 13141 3 120251 3
12800 13142 3 120261 3
12801 13143 3 120271 3
12802 13144 3 120300 3
12803 13145 3 120310 3
12804 13146 3 120320 3
12805 13147 3 120330 3
12806 13148 3 120340 3
12807 13149 3 120350 3
12808 13150 3 120360 3
12809 13151 3 120370 3
12810 13152 3 120380 3
12811 13153 3 120390 3
12812 13154 3 120400 3
12813 13155 3 120410 3
12814 13156 3 120420 3
12815 13157 3 120430 3
12816 13158 3 120450 3
12817 13159 3 120460 3
12818 13160 3 120550 3
12819 13161 3 120560 3
12820 13162 3 120570 3
12821 13163 3 120990 3
12822 13164 3 121000 3
12823 13165 3 121010 3
12824 13166 3 121020 3
12825 13167 3 121100 3
12826 13168 4 140000 3
12827 13169 4 150010 3
12828 13170 4 150020 3
12829 13171 4 150030 3
12830 13172 4 150040 3
12831 13174 3 101000050 1
12832 13175 3 101000060 1
12833 13176 3 101000080 1
12834 13177 3 101000040 1
12835 13178 3 109000060 1
12836 13179 3 109000070 1
12837 13180 3 109000080 1
12838 13181 3 105000060 1
12839 13182 3 105000070 1
12840 13183 3 105000080 1
12841 13184 3 104000050 1
12842 13185 3 106000050 1
12843 13186 4 101000090 1
12844 13187 4 101000100 1
12845 13188 4 101000110 1
12846 13189 4 109000100 1
12847 13190 4 105000100 1
12848 13191 4 105000110 1
12849 13192 4 108000090 1
12850 13193 4 110000090 1
12851 13194 5 101000120 1
12852 13195 5 109000110 1
12853 13196 5 105000120 1
12854 13197 1 101000000 2
12855 13198 2 101000001 2
12856 13199 3 101000002 2
12857 13200 4 101000008 2
12858 13201 5 101000004 2
12859 13202 1 109000000 2
12860 13203 2 109000001 2
12861 13204 3 109000002 2
12862 13205 4 109000003 2
12863 13206 5 109000004 2
12864 13207 4 130024 3
12865 13208 4 130034 3
12866 13209 4 130044 3
12867 13210 4 130054 3
12868 13211 3 130060 3
12869 13212 3 130070 3
12870 13213 3 130080 3
12871 13214 3 130090 3
12872 13215 3 130100 3
12873 13216 3 130110 3
12874 13217 3 130120 3
12875 13218 3 130130 3
12876 13219 3 130140 3
12877 13220 3 130150 3
12878 13221 3 130160 3
12879 13222 3 130170 3
12880 13223 3 130180 3
12881 13224 3 130190 3
12882 13225 3 130200 3
12883 13226 3 130420 3
12884 13227 3 130510 3
12885 13228 3 130520 3
12886 13229 3 130531 3
12887 13230 3 130540 3
12888 13231 3 130660 3
12889 13232 3 130700 3
12890 13233 3 130790 3
12891 13234 3 130800 3
12892 13235 3 131130 3
12893 13236 4 140000 3
12894 13237 4 150010 3
12895 13238 4 150020 3
12896 13239 4 150030 3
12897 13240 4 150040 3
12898 13242 3 101000050 1
12899 13243 3 101000060 1
12900 13244 3 101000080 1
12901 13245 3 101000040 1
12902 13246 3 109000060 1
12903 13247 3 109000070 1
12904 13248 3 109000080 1
12905 13249 3 105000060 1
12906 13250 3 105000070 1
12907 13251 3 105000080 1
12908 13252 3 104000050 1
12909 13253 3 106000050 1
12910 13254 4 101000090 1
12911 13255 4 101000100 1
12912 13256 4 101000110 1
12913 13257 4 109000100 1
12914 13258 4 105000100 1
12915 13259 4 105000110 1
12916 13260 4 108000090 1
12917 13261 4 110000090 1
12918 13262 5 101000120 1
12919 13263 5 109000110 1
12920 13264 5 105000120 1
12921 13265 1 101000000 2
12922 13266 2 101000001 2
12923 13267 3 101000002 2
12924 13268 4 101000008 2
12925 13269 5 101000004 2
12926 13270 1 109000000 2
12927 13271 2 109000001 2
12928 13272 3 109000002 2
12929 13273 4 109000003 2
12930 13274 5 109000004 2
12931 13275 3 170004 3
12932 13276 4 170005 3
12933 13277 3 180004 3
12934 13278 4 180005 3
12935 13279 4 140000 3
12936 13280 4 150010 3
12937 13281 4 150020 3
12938 13282 4 150030 3
12939 13283 4 150040 3
12940 13285 3 102000060 1
12941 13286 3 102000070 1
12942 13287 3 102000080 1
12943 13288 3 103000050 1
12944 13289 3 105000050 1
12945 13290 3 107000060 1
12946 13291 3 107000070 1
12947 13292 3 107000080 1
12948 13293 3 108000050 1
12949 13294 3 109000050 1
12950 13295 3 103000060 1
12951 13296 3 103000070 1
12952 13297 3 103000080 1
12953 13298 3 110000050 1
12954 13299 4 102000100 1
12955 13300 4 102000110 1
12956 13301 4 102000350 1
12957 13302 4 106000090 1
12958 13303 4 109000090 1
12959 13304 4 107000100 1
12960 13305 4 103000090 1
12961 13306 4 102000090 1
12962 13307 4 103000100 1
12963 13308 5 102000120 1
12964 13309 5 107000110 1
12965 13310 5 103000120 1
12966 13311 1 102000000 2
12967 13312 2 102000001 2
12968 13313 3 102000002 2
12969 13314 4 102000003 2
12970 13315 5 102000004 2
12971 13316 1 105000000 2
12972 13317 2 105000001 2
12973 13318 3 105000002 2
12974 13319 4 105000003 2
12975 13320 5 105000004 2
12976 13321 1 112000000 2
12977 13322 2 112000001 2
12978 13323 3 112000002 2
12979 13324 4 112000003 2
12980 13325 5 112000004 2
12981 13326 4 110024 3
12982 13327 4 110034 3
12983 13328 4 110044 3
12984 13329 4 110054 3
12985 13330 3 110060 3
12986 13331 3 110070 3
12987 13332 3 110080 3
12988 13333 3 110090 3
12989 13334 3 110100 3
12990 13335 3 110110 3
12991 13336 3 110120 3
12992 13337 3 110130 3
12993 13338 3 110140 3
12994 13339 3 110150 3
12995 13340 3 110160 3
12996 13341 3 110170 3
12997 13342 3 110180 3
12998 13343 3 110190 3
12999 13344 3 110200 3
13000 13345 3 110210 3
13001 13346 3 110220 3
13002 13347 3 110230 3
13003 13348 3 110240 3
13004 13349 3 110250 3
13005 13350 3 110260 3
13006 13351 3 110270 3
13007 13352 3 110620 3
13008 13353 3 110670 3
13009 13354 4 140000 3
13010 13355 4 150010 3
13011 13356 4 150020 3
13012 13357 4 150030 3
13013 13358 4 150040 3
13014 13360 3 118000020 1
13015 13361 3 118000030 1
13016 13362 3 118000040 1
13017 13363 3 106000060 1
13018 13364 3 106000070 1
13019 13365 3 106000080 1
13020 13366 3 101000070 1
13021 13367 3 110000060 1
13022 13368 3 104000060 1
13023 13369 3 104000070 1
13024 13370 3 104000080 1
13025 13371 3 102000050 1
13026 13372 3 104000170 1
13027 13373 3 104000260 1
13028 13374 4 118000050 1
13029 13375 4 118000060 1
13030 13376 4 106000100 1
13031 13377 4 106000110 1
13032 13378 4 104000090 1
13033 13379 4 104000100 1
13034 13380 4 104000110 1
13035 13381 4 104000270 1
13036 13382 4 107000090 1
13037 13383 4 104000180 1
13038 13384 5 118000070 1
13039 13385 5 106000120 1
13040 13386 5 104000120 1
13041 13387 5 104000190 1
13042 13388 1 103000000 2
13043 13389 2 103000001 2
13044 13390 3 103000002 2
13045 13391 4 103000003 2
13046 13392 5 103000004 2
13047 13393 1 111000000 2
13048 13394 2 111000001 2
13049 13395 3 111000002 2
13050 13396 4 111000003 2
13051 13397 5 111000004 2
13052 13398 1 115000000 2
13053 13399 2 115000001 2
13054 13400 3 115000002 2
13055 13401 4 115000003 2
13056 13402 5 115000004 2
13057 13403 4 120024 3
13058 13404 4 120034 3
13059 13405 4 120044 3
13060 13406 4 120054 3
13061 13407 3 120241 3
13062 13408 3 120251 3
13063 13409 3 120261 3
13064 13410 3 120271 3
13065 13411 3 120300 3
13066 13412 3 120310 3
13067 13413 3 120320 3
13068 13414 3 120330 3
13069 13415 3 120340 3
13070 13416 3 120350 3
13071 13417 3 120360 3
13072 13418 3 120370 3
13073 13419 3 120380 3
13074 13420 3 120390 3
13075 13421 3 120400 3
13076 13422 3 120410 3
13077 13423 3 120420 3
13078 13424 3 120430 3
13079 13425 3 120450 3
13080 13426 3 120460 3
13081 13427 3 120550 3
13082 13428 3 120560 3
13083 13429 3 120570 3
13084 13430 3 120990 3
13085 13431 3 121000 3
13086 13432 3 121010 3
13087 13433 3 121020 3
13088 13434 3 121100 3
13089 13435 4 140000 3
13090 13436 4 150010 3
13091 13437 4 150020 3
13092 13438 4 150030 3
13093 13439 4 150040 3
13094 13441 3 111000010 1
13095 13442 3 111000020 1
13096 13443 3 111000030 1
13097 13444 3 112000020 1
13098 13445 3 112000030 1
13099 13446 3 108000060 1
13100 13447 3 108000070 1
13101 13448 3 108000080 1
13102 13449 3 107000050 1
13103 13450 3 112000010 1
13104 13451 3 110000070 1
13105 13452 3 110000080 1
13106 13453 4 111000040 1
13107 13454 4 112000040 1
13108 13455 4 108000100 1
13109 13456 4 105000090 1
13110 13457 4 110000100 1
13111 13458 5 111000060 1
13112 13459 5 112000060 1
13113 13460 5 108000110 1
13114 13461 5 110000110 1
13115 13462 1 108000000 2
13116 13463 2 108000001 2
13117 13464 3 108000002 2
13118 13465 4 108000003 2
13119 13466 5 108000004 2
13120 13467 1 107000000 2
13121 13468 2 107000001 2
13122 13469 3 107000002 2
13123 13470 4 107000003 2
13124 13471 5 107000004 2
13125 13472 1 120000000 2
13126 13473 2 120000001 2
13127 13474 3 120000002 2
13128 13475 4 120000003 2
13129 13476 5 120000004 2
13130 13477 4 130024 3
13131 13478 4 130034 3
13132 13479 4 130044 3
13133 13480 4 130054 3
13134 13481 3 130060 3
13135 13482 3 130070 3
13136 13483 3 130080 3
13137 13484 3 130090 3
13138 13485 3 130100 3
13139 13486 3 130110 3
13140 13487 3 130120 3
13141 13488 3 130130 3
13142 13489 3 130140 3
13143 13490 3 130150 3
13144 13491 3 130160 3
13145 13492 3 130170 3
13146 13493 3 130180 3
13147 13494 3 130190 3
13148 13495 3 130200 3
13149 13496 3 130420 3
13150 13497 3 130510 3
13151 13498 3 130520 3
13152 13499 3 130531 3
13153 13500 3 130540 3
13154 13501 3 130660 3
13155 13502 3 130700 3
13156 13503 3 130790 3
13157 13504 3 130800 3
13158 13505 3 131130 3
13159 13506 4 140000 3
13160 13507 4 150010 3
13161 13508 4 150020 3
13162 13509 4 150030 3
13163 13510 4 150040 3
13164 13512 1 101000010 1
13165 13513 1 102000010 1
13166 13514 1 103000010 1
13167 13515 1 104000010 1
13168 13516 1 105000010 1
13169 13517 1 106000010 1
13170 13518 1 107000010 1
13171 13519 1 108000010 1
13172 13520 1 109000010 1
13173 13521 1 110000010 1
13174 13522 2 101000020 1
13175 13523 2 101000030 1
13176 13524 2 102000020 1
13177 13525 2 102000030 1
13178 13526 2 102000040 1
13179 13527 2 103000020 1
13180 13528 2 103000030 1
13181 13529 2 103000040 1
13182 13530 2 104000020 1
13183 13531 2 104000030 1
13184 13532 2 104000040 1
13185 13533 2 105000020 1
13186 13534 2 105000030 1
13187 13535 2 105000040 1
13188 13536 2 106000020 1
13189 13537 2 106000030 1
13190 13538 2 106000040 1
13191 13539 2 107000020 1
13192 13540 2 107000030 1
13193 13541 2 107000040 1
13194 13542 2 108000020 1
13195 13543 2 108000030 1
13196 13544 2 108000040 1
13197 13545 2 109000020 1
13198 13546 2 109000030 1
13199 13547 2 109000040 1
13200 13548 2 110000020 1
13201 13549 2 110000030 1
13202 13550 2 110000040 1
13203 13551 2 118000010 1
13204 13552 3 101000050 1
13205 13553 3 101000060 1
13206 13554 3 101000080 1
13207 13555 3 101000040 1
13208 13556 3 109000060 1
13209 13557 3 109000070 1
13210 13558 3 109000080 1
13211 13559 3 105000060 1
13212 13560 3 105000070 1
13213 13561 3 105000080 1
13214 13562 3 104000050 1
13215 13563 3 106000050 1
13216 13564 3 102000060 1
13217 13565 3 102000070 1
13218 13566 3 102000080 1
13219 13567 3 103000050 1
13220 13568 3 105000050 1
13221 13569 3 107000060 1
13222 13570 3 107000070 1
13223 13571 3 107000080 1
13224 13572 3 108000050 1
13225 13573 3 109000050 1
13226 13574 3 103000060 1
13227 13575 3 103000070 1
13228 13576 3 103000080 1
13229 13577 3 110000050 1
13230 13578 3 106000060 1
13231 13579 3 106000070 1
13232 13580 3 106000080 1
13233 13581 3 101000070 1
13234 13582 3 110000060 1
13235 13583 3 104000060 1
13236 13584 3 104000070 1
13237 13585 3 104000080 1
13238 13586 3 102000050 1
13239 13587 3 104000170 1
13240 13588 3 104000260 1
13241 13589 3 111000010 1
13242 13590 3 111000020 1
13243 13591 3 111000030 1
13244 13592 3 112000020 1
13245 13593 3 112000030 1
13246 13594 3 108000060 1
13247 13595 3 108000070 1
13248 13596 3 108000080 1
13249 13597 3 107000050 1
13250 13598 3 112000010 1
13251 13599 3 110000070 1
13252 13600 3 110000080 1
13253 13601 3 118000020 1
13254 13602 3 118000030 1
13255 13603 3 118000040 1
13256 13604 4 101000090 1
13257 13605 4 101000100 1
13258 13606 4 101000110 1
13259 13607 4 109000100 1
13260 13608 4 105000100 1
13261 13609 4 105000110 1
13262 13610 4 108000090 1
13263 13611 4 110000090 1
13264 13612 4 102000100 1
13265 13613 4 102000110 1
13266 13614 4 106000090 1
13267 13615 4 109000090 1
13268 13616 4 107000100 1
13269 13617 4 103000090 1
13270 13618 4 102000090 1
13271 13619 4 103000100 1
13272 13620 4 106000100 1
13273 13621 4 106000110 1
13274 13622 4 104000090 1
13275 13623 4 104000100 1
13276 13624 4 104000110 1
13277 13625 4 107000090 1
13278 13626 4 104000180 1
13279 13627 4 111000040 1
13280 13628 4 112000040 1
13281 13629 4 108000100 1
13282 13630 4 105000090 1
13283 13631 4 110000100 1
13284 13632 4 118000050 1
13285 13633 4 118000060 1
13286 13634 5 101000120 1
13287 13635 5 109000110 1
13288 13636 5 105000120 1
13289 13637 5 102000120 1
13290 13638 5 107000110 1
13291 13639 5 103000120 1
13292 13640 5 106000120 1
13293 13641 5 104000120 1
13294 13642 5 104000190 1
13295 13643 5 111000060 1
13296 13644 5 112000060 1
13297 13645 5 108000110 1
13298 13646 5 110000110 1
13299 13647 5 118000070 1
13300 13648 1 201000010 8
13301 13649 1 292000010 8
13302 13650 1 299000040 8
13303 13651 1 299000070 8
13304 13652 1 299000110 8
13305 13653 1 299000120 8
13306 13654 1 299000140 8
13307 13655 2 202000010 8
13308 13656 2 290000010 8
13309 13657 2 299000010 8
13310 13658 2 299000150 8
13311 13659 2 299000190 8
13312 13660 2 299000200 8
13313 13661 2 299000210 8
13314 13662 3 298000050 8
13315 13663 3 298000060 8
13316 13664 3 299000060 8
13317 13665 3 299000170 8
13318 13666 3 290000120 8
13319 13667 3 291000050 8
13320 13668 3 292000020 8
13321 13669 4 299000670 8
13322 13670 4 299000680 8
13323 13671 4 204000010 8
13324 13672 4 209000040 8
13325 13673 4 202000070 8
13326 13674 4 209000070 8
13327 13675 4 203000110 8
13328 13676 4 290000110 8
13329 13677 5 297000100 8
13330 13678 5 291000020 8
13331 13679 5 297000130 8
13332 13680 5 297000140 8
13333 13681 5 203000010 8
13334 13682 5 206000030 8
13335 13683 5 203000050 8
13336 13684 5 202000090 8
13337 13685 5 204000080 8
13338 13686 5 202000150 8
13339 13687 1 170002 3
13340 13688 1 180002 3
13341 13689 2 170003 3
13342 13690 2 180003 3
13343 13691 3 170004 3
13344 13692 3 180004 3
13345 13693 4 140000 3
13346 13694 5 150010 3
13347 13695 5 150020 3
13348 13696 5 150030 3
13349 13697 5 150040 3
13350 13699 1 101000010 1
13351 13700 1 102000010 1
13352 13701 1 103000010 1
13353 13702 1 104000010 1
13354 13703 1 105000010 1
13355 13704 1 106000010 1
13356 13705 1 107000010 1
13357 13706 1 108000010 1
13358 13707 1 109000010 1
13359 13708 1 110000010 1
13360 13709 2 101000020 1
13361 13710 2 101000030 1
13362 13711 2 102000020 1
13363 13712 2 102000030 1
13364 13713 2 102000040 1
13365 13714 2 103000020 1
13366 13715 2 103000030 1
13367 13716 2 103000040 1
13368 13717 2 104000020 1
13369 13718 2 104000030 1
13370 13719 2 104000040 1
13371 13720 2 105000020 1
13372 13721 2 105000030 1
13373 13722 2 105000040 1
13374 13723 2 106000020 1
13375 13724 2 106000030 1
13376 13725 2 106000040 1
13377 13726 2 107000020 1
13378 13727 2 107000030 1
13379 13728 2 107000040 1
13380 13729 2 108000020 1
13381 13730 2 108000030 1
13382 13731 2 108000040 1
13383 13732 2 109000020 1
13384 13733 2 109000030 1
13385 13734 2 109000040 1
13386 13735 2 110000020 1
13387 13736 2 110000030 1
13388 13737 2 110000040 1
13389 13738 2 118000010 1
13390 13739 3 101000050 1
13391 13740 3 101000060 1
13392 13741 3 101000080 1
13393 13742 3 101000040 1
13394 13743 3 109000060 1
13395 13744 3 109000070 1
13396 13745 3 109000080 1
13397 13746 3 105000060 1
13398 13747 3 105000070 1
13399 13748 3 105000080 1
13400 13749 3 104000050 1
13401 13750 3 106000050 1
13402 13751 3 102000060 1
13403 13752 3 102000070 1
13404 13753 3 102000080 1
13405 13754 3 103000050 1
13406 13755 3 105000050 1
13407 13756 3 107000060 1
13408 13757 3 107000070 1
13409 13758 3 107000080 1
13410 13759 3 108000050 1
13411 13760 3 109000050 1
13412 13761 3 103000060 1
13413 13762 3 103000070 1
13414 13763 3 103000080 1
13415 13764 3 110000050 1
13416 13765 3 106000060 1
13417 13766 3 106000070 1
13418 13767 3 106000080 1
13419 13768 3 101000070 1
13420 13769 3 110000060 1
13421 13770 3 104000060 1
13422 13771 3 104000070 1
13423 13772 3 104000080 1
13424 13773 3 102000050 1
13425 13774 3 104000170 1
13426 13775 3 104000260 1
13427 13776 3 111000010 1
13428 13777 3 111000020 1
13429 13778 3 111000030 1
13430 13779 3 112000020 1
13431 13780 3 112000030 1
13432 13781 3 108000060 1
13433 13782 3 108000070 1
13434 13783 3 108000080 1
13435 13784 3 107000050 1
13436 13785 3 112000010 1
13437 13786 3 110000070 1
13438 13787 3 110000080 1
13439 13788 3 118000020 1
13440 13789 3 118000030 1
13441 13790 3 118000040 1
13442 13791 4 101000090 1
13443 13792 4 101000100 1
13444 13793 4 101000110 1
13445 13794 4 109000100 1
13446 13795 4 105000100 1
13447 13796 4 105000110 1
13448 13797 4 108000090 1
13449 13798 4 110000090 1
13450 13799 4 102000100 1
13451 13800 4 102000110 1
13452 13801 4 106000090 1
13453 13802 4 109000090 1
13454 13803 4 107000100 1
13455 13804 4 103000090 1
13456 13805 4 102000090 1
13457 13806 4 103000100 1
13458 13807 4 106000100 1
13459 13808 4 106000110 1
13460 13809 4 104000090 1
13461 13810 4 104000100 1
13462 13811 4 104000110 1
13463 13812 4 107000090 1
13464 13813 4 104000180 1
13465 13814 4 111000040 1
13466 13815 4 112000040 1
13467 13816 4 108000100 1
13468 13817 4 105000090 1
13469 13818 4 110000100 1
13470 13819 4 118000050 1
13471 13820 4 118000060 1
13472 13821 5 101000120 1
13473 13822 5 109000110 1
13474 13823 5 105000120 1
13475 13824 5 102000120 1
13476 13825 5 107000110 1
13477 13826 5 103000120 1
13478 13827 5 106000120 1
13479 13828 5 104000120 1
13480 13829 5 104000190 1
13481 13830 5 111000060 1
13482 13831 5 112000060 1
13483 13832 5 108000110 1
13484 13833 5 110000110 1
13485 13834 5 118000070 1
13486 13835 1 201000010 8
13487 13836 1 292000010 8
13488 13837 1 299000040 8
13489 13838 1 299000070 8
13490 13839 1 299000110 8
13491 13840 1 299000120 8
13492 13841 1 299000140 8
13493 13842 2 202000010 8
13494 13843 2 290000010 8
13495 13844 2 299000010 8
13496 13845 2 299000150 8
13497 13846 2 299000190 8
13498 13847 2 299000200 8
13499 13848 2 299000210 8
13500 13849 3 298000050 8
13501 13850 3 298000060 8
13502 13851 3 299000060 8
13503 13852 3 299000170 8
13504 13853 3 290000120 8
13505 13854 3 291000050 8
13506 13855 3 292000020 8
13507 13856 4 299000670 8
13508 13857 4 299000680 8
13509 13858 4 204000010 8
13510 13859 4 209000040 8
13511 13860 4 202000070 8
13512 13861 4 209000070 8
13513 13862 4 203000110 8
13514 13863 4 290000110 8
13515 13864 5 297000100 8
13516 13865 5 291000020 8
13517 13866 5 297000130 8
13518 13867 5 297000140 8
13519 13868 5 203000010 8
13520 13869 5 206000030 8
13521 13870 5 203000050 8
13522 13871 5 202000090 8
13523 13872 5 204000080 8
13524 13873 5 202000150 8
13525 13874 2 170003 3
13526 13875 2 180003 3
13527 13876 3 170004 3
13528 13877 3 180004 3
13529 13878 4 140000 3
13530 13879 5 150010 3
13531 13880 5 150020 3
13532 13881 5 150030 3
13533 13882 5 150040 3
13534 13884 3 101000050 1
13535 13885 3 101000060 1
13536 13886 3 101000080 1
13537 13887 3 101000040 1
13538 13888 3 109000060 1
13539 13889 3 109000070 1
13540 13890 3 109000080 1
13541 13891 3 105000060 1
13542 13892 3 105000070 1
13543 13893 3 105000080 1
13544 13894 3 104000050 1
13545 13895 3 106000050 1
13546 13896 3 102000060 1
13547 13897 3 102000070 1
13548 13898 3 102000080 1
13549 13899 3 103000050 1
13550 13900 3 105000050 1
13551 13901 3 107000060 1
13552 13902 3 107000070 1
13553 13903 3 107000080 1
13554 13904 3 108000050 1
13555 13905 3 109000050 1
13556 13906 3 103000060 1
13557 13907 3 103000070 1
13558 13908 3 103000080 1
13559 13909 3 110000050 1
13560 13910 3 106000060 1
13561 13911 3 106000070 1
13562 13912 3 106000080 1
13563 13913 3 101000070 1
13564 13914 3 110000060 1
13565 13915 3 104000060 1
13566 13916 3 104000070 1
13567 13917 3 104000080 1
13568 13918 3 102000050 1
13569 13919 3 104000170 1
13570 13920 3 104000260 1
13571 13921 3 111000010 1
13572 13922 3 111000020 1
13573 13923 3 111000030 1
13574 13924 3 112000020 1
13575 13925 3 112000030 1
13576 13926 3 108000060 1
13577 13927 3 108000070 1
13578 13928 3 108000080 1
13579 13929 3 107000050 1
13580 13930 3 112000010 1
13581 13931 3 110000070 1
13582 13932 3 110000080 1
13583 13933 3 118000020 1
13584 13934 3 118000030 1
13585 13935 3 118000040 1
13586 13936 4 101000090 1
13587 13937 4 101000100 1
13588 13938 4 101000110 1
13589 13939 4 109000100 1
13590 13940 4 105000100 1
13591 13941 4 105000110 1
13592 13942 4 108000090 1
13593 13943 4 110000090 1
13594 13944 4 102000100 1
13595 13945 4 102000110 1
13596 13946 4 106000090 1
13597 13947 4 109000090 1
13598 13948 4 107000100 1
13599 13949 4 103000090 1
13600 13950 4 102000090 1
13601 13951 4 103000100 1
13602 13952 4 106000100 1
13603 13953 4 106000110 1
13604 13954 4 104000090 1
13605 13955 4 104000100 1
13606 13956 4 104000110 1
13607 13957 4 107000090 1
13608 13958 4 104000180 1
13609 13959 4 111000040 1
13610 13960 4 112000040 1
13611 13961 4 108000100 1
13612 13962 4 105000090 1
13613 13963 4 110000100 1
13614 13964 4 118000050 1
13615 13965 4 118000060 1
13616 13966 5 101000120 1
13617 13967 5 109000110 1
13618 13968 5 105000120 1
13619 13969 5 102000120 1
13620 13970 5 107000110 1
13621 13971 5 103000120 1
13622 13972 5 106000120 1
13623 13973 5 104000120 1
13624 13974 5 104000190 1
13625 13975 5 111000060 1
13626 13976 5 112000060 1
13627 13977 5 108000110 1
13628 13978 5 110000110 1
13629 13979 5 118000070 1
13630 13980 1 201000010 8
13631 13981 1 292000010 8
13632 13982 1 299000040 8
13633 13983 1 299000070 8
13634 13984 1 299000110 8
13635 13985 1 299000120 8
13636 13986 1 299000140 8
13637 13987 2 202000010 8
13638 13988 2 290000010 8
13639 13989 2 299000010 8
13640 13990 2 299000150 8
13641 13991 2 299000190 8
13642 13992 2 299000200 8
13643 13993 2 299000210 8
13644 13994 3 298000050 8
13645 13995 3 298000060 8
13646 13996 3 299000060 8
13647 13997 3 299000170 8
13648 13998 3 290000120 8
13649 13999 3 291000050 8
13650 14000 3 292000020 8
13651 14001 4 299000670 8
13652 14002 4 299000680 8
13653 14003 4 204000010 8
13654 14004 4 209000040 8
13655 14005 4 202000070 8
13656 14006 4 209000070 8
13657 14007 4 203000110 8
13658 14008 4 290000110 8
13659 14009 5 297000100 8
13660 14010 5 291000020 8
13661 14011 5 297000130 8
13662 14012 5 297000140 8
13663 14013 5 203000010 8
13664 14014 5 206000030 8
13665 14015 5 203000050 8
13666 14016 5 202000090 8
13667 14017 5 204000080 8
13668 14018 5 202000150 8
13669 14019 3 170004 3
13670 14020 3 180004 3
13671 14021 4 140000 3
13672 14022 5 150010 3
13673 14023 5 150020 3
13674 14024 5 150030 3
13675 14025 5 150040 3
13676 14027 3 101000050 1
13677 14028 3 101000060 1
13678 14029 3 101000080 1
13679 14030 3 101000040 1
13680 14031 3 109000060 1
13681 14032 3 109000070 1
13682 14033 3 109000080 1
13683 14034 3 105000060 1
13684 14035 3 105000070 1
13685 14036 3 105000080 1
13686 14037 3 104000050 1
13687 14038 3 106000050 1
13688 14039 3 102000060 1
13689 14040 3 102000070 1
13690 14041 3 102000080 1
13691 14042 3 103000050 1
13692 14043 3 105000050 1
13693 14044 3 107000060 1
13694 14045 3 107000070 1
13695 14046 3 107000080 1
13696 14047 3 108000050 1
13697 14048 3 109000050 1
13698 14049 3 103000060 1
13699 14050 3 103000070 1
13700 14051 3 103000080 1
13701 14052 3 110000050 1
13702 14053 3 106000060 1
13703 14054 3 106000070 1
13704 14055 3 106000080 1
13705 14056 3 101000070 1
13706 14057 3 110000060 1
13707 14058 3 104000060 1
13708 14059 3 104000070 1
13709 14060 3 104000080 1
13710 14061 3 102000050 1
13711 14062 3 104000170 1
13712 14063 3 104000260 1
13713 14064 3 111000010 1
13714 14065 3 111000020 1
13715 14066 3 111000030 1
13716 14067 3 112000020 1
13717 14068 3 112000030 1
13718 14069 3 108000060 1
13719 14070 3 108000070 1
13720 14071 3 108000080 1
13721 14072 3 107000050 1
13722 14073 3 112000010 1
13723 14074 3 110000070 1
13724 14075 3 110000080 1
13725 14076 3 118000020 1
13726 14077 3 118000030 1
13727 14078 3 118000040 1
13728 14079 4 101000090 1
13729 14080 4 101000100 1
13730 14081 4 101000110 1
13731 14082 4 109000100 1
13732 14083 4 105000100 1
13733 14084 4 105000110 1
13734 14085 4 108000090 1
13735 14086 4 110000090 1
13736 14087 4 102000100 1
13737 14088 4 102000110 1
13738 14089 4 106000090 1
13739 14090 4 109000090 1
13740 14091 4 107000100 1
13741 14092 4 103000090 1
13742 14093 4 102000090 1
13743 14094 4 103000100 1
13744 14095 4 106000100 1
13745 14096 4 106000110 1
13746 14097 4 104000090 1
13747 14098 4 104000100 1
13748 14099 4 104000110 1
13749 14100 4 107000090 1
13750 14101 4 104000180 1
13751 14102 4 111000040 1
13752 14103 4 112000040 1
13753 14104 4 108000100 1
13754 14105 4 105000090 1
13755 14106 4 110000100 1
13756 14107 4 118000050 1
13757 14108 4 118000060 1
13758 14109 5 101000120 1
13759 14110 5 109000110 1
13760 14111 5 105000120 1
13761 14112 5 102000120 1
13762 14113 5 107000110 1
13763 14114 5 103000120 1
13764 14115 5 106000120 1
13765 14116 5 104000120 1
13766 14117 5 104000190 1
13767 14118 5 111000060 1
13768 14119 5 112000060 1
13769 14120 5 108000110 1
13770 14121 5 110000110 1
13771 14122 5 118000070 1
13772 14123 1 201000010 8
13773 14124 1 292000010 8
13774 14125 1 299000040 8
13775 14126 1 299000070 8
13776 14127 1 299000110 8
13777 14128 1 299000120 8
13778 14129 1 299000140 8
13779 14130 2 202000010 8
13780 14131 2 290000010 8
13781 14132 2 299000010 8
13782 14133 2 299000150 8
13783 14134 2 299000190 8
13784 14135 2 299000200 8
13785 14136 2 299000210 8
13786 14137 3 298000050 8
13787 14138 3 298000060 8
13788 14139 3 299000060 8
13789 14140 3 299000170 8
13790 14141 3 290000120 8
13791 14142 3 291000050 8
13792 14143 3 292000020 8
13793 14144 4 299000670 8
13794 14145 4 299000680 8
13795 14146 4 204000010 8
13796 14147 4 209000040 8
13797 14148 4 202000070 8
13798 14149 4 209000070 8
13799 14150 4 203000110 8
13800 14151 4 290000110 8
13801 14152 5 297000100 8
13802 14153 5 291000020 8
13803 14154 5 297000130 8
13804 14155 5 297000140 8
13805 14156 5 203000010 8
13806 14157 5 206000030 8
13807 14158 5 203000050 8
13808 14159 5 202000090 8
13809 14160 5 204000080 8
13810 14161 5 202000150 8
13811 14162 3 170004 3
13812 14163 3 180004 3
13813 14164 4 140000 3
13814 14165 5 150010 3
13815 14166 5 150020 3
13816 14167 5 150030 3
13817 14168 5 150040 3
13818 14170 3 101000050 1
13819 14171 3 101000060 1
13820 14172 3 101000080 1
13821 14173 3 101000040 1
13822 14174 3 109000060 1
13823 14175 3 109000070 1
13824 14176 3 109000080 1
13825 14177 3 105000060 1
13826 14178 3 105000070 1
13827 14179 3 105000080 1
13828 14180 3 104000050 1
13829 14181 3 106000050 1
13830 14182 3 102000060 1
13831 14183 3 102000070 1
13832 14184 3 102000080 1
13833 14185 3 103000050 1
13834 14186 3 105000050 1
13835 14187 3 107000060 1
13836 14188 3 107000070 1
13837 14189 3 107000080 1
13838 14190 3 108000050 1
13839 14191 3 109000050 1
13840 14192 3 103000060 1
13841 14193 3 103000070 1
13842 14194 3 103000080 1
13843 14195 3 110000050 1
13844 14196 3 106000060 1
13845 14197 3 106000070 1
13846 14198 3 106000080 1
13847 14199 3 101000070 1
13848 14200 3 110000060 1
13849 14201 3 104000060 1
13850 14202 3 104000070 1
13851 14203 3 104000080 1
13852 14204 3 102000050 1
13853 14205 3 104000170 1
13854 14206 3 104000260 1
13855 14207 3 111000010 1
13856 14208 3 111000020 1
13857 14209 3 111000030 1
13858 14210 3 112000020 1
13859 14211 3 112000030 1
13860 14212 3 108000060 1
13861 14213 3 108000070 1
13862 14214 3 108000080 1
13863 14215 3 107000050 1
13864 14216 3 112000010 1
13865 14217 3 110000070 1
13866 14218 3 110000080 1
13867 14219 3 118000020 1
13868 14220 3 118000030 1
13869 14221 3 118000040 1
13870 14222 4 101000090 1
13871 14223 4 101000100 1
13872 14224 4 101000110 1
13873 14225 4 109000100 1
13874 14226 4 105000100 1
13875 14227 4 105000110 1
13876 14228 4 108000090 1
13877 14229 4 110000090 1
13878 14230 4 102000100 1
13879 14231 4 102000110 1
13880 14232 4 106000090 1
13881 14233 4 109000090 1
13882 14234 4 107000100 1
13883 14235 4 103000090 1
13884 14236 4 102000090 1
13885 14237 4 103000100 1
13886 14238 4 106000100 1
13887 14239 4 106000110 1
13888 14240 4 104000090 1
13889 14241 4 104000100 1
13890 14242 4 104000110 1
13891 14243 4 107000090 1
13892 14244 4 104000180 1
13893 14245 4 111000040 1
13894 14246 4 112000040 1
13895 14247 4 108000100 1
13896 14248 4 105000090 1
13897 14249 4 110000100 1
13898 14250 4 118000050 1
13899 14251 4 118000060 1
13900 14252 5 101000120 1
13901 14253 5 109000110 1
13902 14254 5 105000120 1
13903 14255 5 102000120 1
13904 14256 5 107000110 1
13905 14257 5 103000120 1
13906 14258 5 106000120 1
13907 14259 5 104000120 1
13908 14260 5 104000190 1
13909 14261 5 111000060 1
13910 14262 5 112000060 1
13911 14263 5 108000110 1
13912 14264 5 110000110 1
13913 14265 5 118000070 1
13914 14266 1 201000010 8
13915 14267 1 292000010 8
13916 14268 1 299000040 8
13917 14269 1 299000070 8
13918 14270 1 299000110 8
13919 14271 1 299000120 8
13920 14272 1 299000140 8
13921 14273 2 202000010 8
13922 14274 2 290000010 8
13923 14275 2 299000010 8
13924 14276 2 299000150 8
13925 14277 2 299000190 8
13926 14278 2 299000200 8
13927 14279 2 299000210 8
13928 14280 3 298000050 8
13929 14281 3 298000060 8
13930 14282 3 299000060 8
13931 14283 3 299000170 8
13932 14284 3 290000120 8
13933 14285 3 291000050 8
13934 14286 3 292000020 8
13935 14287 4 299000670 8
13936 14288 4 299000680 8
13937 14289 4 204000010 8
13938 14290 4 209000040 8
13939 14291 4 202000070 8
13940 14292 4 209000070 8
13941 14293 4 203000110 8
13942 14294 4 290000110 8
13943 14295 5 297000100 8
13944 14296 5 291000020 8
13945 14297 5 297000130 8
13946 14298 5 297000140 8
13947 14299 5 203000010 8
13948 14300 5 206000030 8
13949 14301 5 203000050 8
13950 14302 5 202000090 8
13951 14303 5 204000080 8
13952 14304 5 202000150 8
13953 14305 3 170004 3
13954 14306 3 180004 3
13955 14307 4 140000 3
13956 14308 5 150010 3
13957 14309 5 150020 3
13958 14310 5 150030 3
13959 14311 5 150040 3
13960 14312 5 190000 3
13961 14313 5 200000 3
13962 14314 5 210000 3
13963 14316 1 101000010 1
13964 14317 1 102000010 1
13965 14318 1 103000010 1
13966 14319 1 104000010 1
13967 14320 1 105000010 1
13968 14321 1 106000010 1
13969 14322 1 107000010 1
13970 14323 1 108000010 1
13971 14324 1 109000010 1
13972 14325 1 110000010 1
13973 14326 2 101000020 1
13974 14327 2 101000030 1
13975 14328 2 102000020 1
13976 14329 2 102000030 1
13977 14330 2 102000040 1
13978 14331 2 103000020 1
13979 14332 2 103000030 1
13980 14333 2 103000040 1
13981 14334 2 104000020 1
13982 14335 2 104000030 1
13983 14336 2 104000040 1
13984 14337 2 105000020 1
13985 14338 2 105000030 1
13986 14339 2 105000040 1
13987 14340 2 106000020 1
13988 14341 2 106000030 1
13989 14342 2 106000040 1
13990 14343 2 107000020 1
13991 14344 2 107000030 1
13992 14345 2 107000040 1
13993 14346 2 108000020 1
13994 14347 2 108000030 1
13995 14348 2 108000040 1
13996 14349 2 109000020 1
13997 14350 2 109000030 1
13998 14351 2 109000040 1
13999 14352 2 110000020 1
14000 14353 2 110000030 1
14001 14354 2 110000040 1
14002 14355 2 118000010 1
14003 14356 3 101000050 1
14004 14357 3 101000060 1
14005 14358 3 101000080 1
14006 14359 3 101000040 1
14007 14360 3 109000060 1
14008 14361 3 109000070 1
14009 14362 3 109000080 1
14010 14363 3 105000060 1
14011 14364 3 105000070 1
14012 14365 3 105000080 1
14013 14366 3 104000050 1
14014 14367 3 106000050 1
14015 14368 3 102000060 1
14016 14369 3 102000070 1
14017 14370 3 102000080 1
14018 14371 3 103000050 1
14019 14372 3 105000050 1
14020 14373 3 107000060 1
14021 14374 3 107000070 1
14022 14375 3 107000080 1
14023 14376 3 108000050 1
14024 14377 3 109000050 1
14025 14378 3 103000060 1
14026 14379 3 103000070 1
14027 14380 3 103000080 1
14028 14381 3 110000050 1
14029 14382 3 106000060 1
14030 14383 3 106000070 1
14031 14384 3 106000080 1
14032 14385 3 101000070 1
14033 14386 3 110000060 1
14034 14387 3 104000060 1
14035 14388 3 104000070 1
14036 14389 3 104000080 1
14037 14390 3 102000050 1
14038 14391 3 104000170 1
14039 14392 3 104000260 1
14040 14393 3 111000010 1
14041 14394 3 111000020 1
14042 14395 3 111000030 1
14043 14396 3 112000020 1
14044 14397 3 112000030 1
14045 14398 3 108000060 1
14046 14399 3 108000070 1
14047 14400 3 108000080 1
14048 14401 3 107000050 1
14049 14402 3 112000010 1
14050 14403 3 110000070 1
14051 14404 3 110000080 1
14052 14405 3 118000020 1
14053 14406 3 118000030 1
14054 14407 3 118000040 1
14055 14408 4 101000090 1
14056 14409 4 101000100 1
14057 14410 4 101000110 1
14058 14411 4 109000100 1
14059 14412 4 105000100 1
14060 14413 4 105000110 1
14061 14414 4 108000090 1
14062 14415 4 110000090 1
14063 14416 4 102000100 1
14064 14417 4 102000110 1
14065 14418 4 106000090 1
14066 14419 4 109000090 1
14067 14420 4 107000100 1
14068 14421 4 103000090 1
14069 14422 4 102000090 1
14070 14423 4 103000100 1
14071 14424 4 106000100 1
14072 14425 4 106000110 1
14073 14426 4 104000090 1
14074 14427 4 104000100 1
14075 14428 4 104000110 1
14076 14429 4 107000090 1
14077 14430 4 104000180 1
14078 14431 4 111000040 1
14079 14432 4 112000040 1
14080 14433 4 108000100 1
14081 14434 4 105000090 1
14082 14435 4 110000100 1
14083 14436 4 118000050 1
14084 14437 4 118000060 1
14085 14438 5 101000120 1
14086 14439 5 109000110 1
14087 14440 5 105000120 1
14088 14441 5 102000120 1
14089 14442 5 107000110 1
14090 14443 5 103000120 1
14091 14444 5 106000120 1
14092 14445 5 104000120 1
14093 14446 5 104000190 1
14094 14447 5 111000060 1
14095 14448 5 112000060 1
14096 14449 5 108000110 1
14097 14450 5 110000110 1
14098 14451 5 118000070 1
14099 14452 1 201000010 8
14100 14453 1 292000010 8
14101 14454 1 299000040 8
14102 14455 1 299000070 8
14103 14456 1 299000110 8
14104 14457 1 299000120 8
14105 14458 1 299000140 8
14106 14459 2 202000010 8
14107 14460 2 290000010 8
14108 14461 2 299000010 8
14109 14462 2 299000150 8
14110 14463 2 299000190 8
14111 14464 2 299000200 8
14112 14465 2 299000210 8
14113 14466 3 298000050 8
14114 14467 3 298000060 8
14115 14468 3 299000060 8
14116 14469 3 299000170 8
14117 14470 3 290000120 8
14118 14471 3 291000050 8
14119 14472 3 292000020 8
14120 14473 4 299000670 8
14121 14474 4 299000680 8
14122 14475 4 204000010 8
14123 14476 4 209000040 8
14124 14477 4 202000070 8
14125 14478 4 209000070 8
14126 14479 4 203000110 8
14127 14480 4 290000110 8
14128 14481 4 206000110 8
14129 14482 5 297000100 8
14130 14483 5 291000020 8
14131 14484 5 297000130 8
14132 14485 5 297000140 8
14133 14486 5 203000010 8
14134 14487 5 206000030 8
14135 14488 5 203000050 8
14136 14489 5 202000090 8
14137 14490 5 204000080 8
14138 14491 5 202000150 8
14139 14492 5 204000100 8
14140 14493 1 170002 3
14141 14494 1 180002 3
14142 14495 2 170003 3
14143 14496 2 180003 3
14144 14497 3 170004 3
14145 14498 3 180004 3
14146 14499 4 140000 3
14147 14500 5 150010 3
14148 14501 5 150020 3
14149 14502 5 150030 3
14150 14503 5 150040 3
14151 14505 1 101000010 1
14152 14506 1 102000010 1
14153 14507 1 103000010 1
14154 14508 1 104000010 1
14155 14509 1 105000010 1
14156 14510 1 106000010 1
14157 14511 1 107000010 1
14158 14512 1 108000010 1
14159 14513 1 109000010 1
14160 14514 1 110000010 1
14161 14515 2 101000020 1
14162 14516 2 101000030 1
14163 14517 2 102000020 1
14164 14518 2 102000030 1
14165 14519 2 102000040 1
14166 14520 2 103000020 1
14167 14521 2 103000030 1
14168 14522 2 103000040 1
14169 14523 2 104000020 1
14170 14524 2 104000030 1
14171 14525 2 104000040 1
14172 14526 2 105000020 1
14173 14527 2 105000030 1
14174 14528 2 105000040 1
14175 14529 2 106000020 1
14176 14530 2 106000030 1
14177 14531 2 106000040 1
14178 14532 2 107000020 1
14179 14533 2 107000030 1
14180 14534 2 107000040 1
14181 14535 2 108000020 1
14182 14536 2 108000030 1
14183 14537 2 108000040 1
14184 14538 2 109000020 1
14185 14539 2 109000030 1
14186 14540 2 109000040 1
14187 14541 2 110000020 1
14188 14542 2 110000030 1
14189 14543 2 110000040 1
14190 14544 2 118000010 1
14191 14545 3 101000050 1
14192 14546 3 101000060 1
14193 14547 3 101000080 1
14194 14548 3 101000040 1
14195 14549 3 109000060 1
14196 14550 3 109000070 1
14197 14551 3 109000080 1
14198 14552 3 105000060 1
14199 14553 3 105000070 1
14200 14554 3 105000080 1
14201 14555 3 104000050 1
14202 14556 3 106000050 1
14203 14557 3 102000060 1
14204 14558 3 102000070 1
14205 14559 3 102000080 1
14206 14560 3 103000050 1
14207 14561 3 105000050 1
14208 14562 3 107000060 1
14209 14563 3 107000070 1
14210 14564 3 107000080 1
14211 14565 3 108000050 1
14212 14566 3 109000050 1
14213 14567 3 103000060 1
14214 14568 3 103000070 1
14215 14569 3 103000080 1
14216 14570 3 110000050 1
14217 14571 3 106000060 1
14218 14572 3 106000070 1
14219 14573 3 106000080 1
14220 14574 3 101000070 1
14221 14575 3 110000060 1
14222 14576 3 104000060 1
14223 14577 3 104000070 1
14224 14578 3 104000080 1
14225 14579 3 102000050 1
14226 14580 3 104000170 1
14227 14581 3 104000260 1
14228 14582 3 111000010 1
14229 14583 3 111000020 1
14230 14584 3 111000030 1
14231 14585 3 112000020 1
14232 14586 3 112000030 1
14233 14587 3 108000060 1
14234 14588 3 108000070 1
14235 14589 3 108000080 1
14236 14590 3 107000050 1
14237 14591 3 112000010 1
14238 14592 3 110000070 1
14239 14593 3 110000080 1
14240 14594 3 118000020 1
14241 14595 3 118000030 1
14242 14596 3 118000040 1
14243 14597 4 101000090 1
14244 14598 4 101000100 1
14245 14599 4 101000110 1
14246 14600 4 109000100 1
14247 14601 4 105000100 1
14248 14602 4 105000110 1
14249 14603 4 108000090 1
14250 14604 4 110000090 1
14251 14605 4 102000100 1
14252 14606 4 102000110 1
14253 14607 4 106000090 1
14254 14608 4 109000090 1
14255 14609 4 107000100 1
14256 14610 4 103000090 1
14257 14611 4 102000090 1
14258 14612 4 103000100 1
14259 14613 4 106000100 1
14260 14614 4 106000110 1
14261 14615 4 104000090 1
14262 14616 4 104000100 1
14263 14617 4 104000110 1
14264 14618 4 107000090 1
14265 14619 4 104000180 1
14266 14620 4 111000040 1
14267 14621 4 112000040 1
14268 14622 4 108000100 1
14269 14623 4 105000090 1
14270 14624 4 110000100 1
14271 14625 4 118000050 1
14272 14626 4 118000060 1
14273 14627 5 101000120 1
14274 14628 5 109000110 1
14275 14629 5 105000120 1
14276 14630 5 102000120 1
14277 14631 5 107000110 1
14278 14632 5 103000120 1
14279 14633 5 106000120 1
14280 14634 5 104000120 1
14281 14635 5 104000190 1
14282 14636 5 111000060 1
14283 14637 5 112000060 1
14284 14638 5 108000110 1
14285 14639 5 110000110 1
14286 14640 5 118000070 1
14287 14641 1 201000010 8
14288 14642 1 292000010 8
14289 14643 1 299000040 8
14290 14644 1 299000070 8
14291 14645 1 299000110 8
14292 14646 1 299000120 8
14293 14647 1 299000140 8
14294 14648 2 202000010 8
14295 14649 2 290000010 8
14296 14650 2 299000010 8
14297 14651 2 299000150 8
14298 14652 2 299000190 8
14299 14653 2 299000200 8
14300 14654 2 299000210 8
14301 14655 3 298000050 8
14302 14656 3 298000060 8
14303 14657 3 299000060 8
14304 14658 3 299000170 8
14305 14659 3 290000120 8
14306 14660 3 291000050 8
14307 14661 3 292000020 8
14308 14662 4 299000670 8
14309 14663 4 299000680 8
14310 14664 4 204000010 8
14311 14665 4 209000040 8
14312 14666 4 202000070 8
14313 14667 4 209000070 8
14314 14668 4 203000110 8
14315 14669 4 290000110 8
14316 14670 4 206000110 8
14317 14671 5 297000100 8
14318 14672 5 291000020 8
14319 14673 5 297000130 8
14320 14674 5 297000140 8
14321 14675 5 203000010 8
14322 14676 5 206000030 8
14323 14677 5 203000050 8
14324 14678 5 202000090 8
14325 14679 5 204000080 8
14326 14680 5 202000150 8
14327 14681 5 204000100 8
14328 14682 2 170003 3
14329 14683 2 180003 3
14330 14684 3 170004 3
14331 14685 3 180004 3
14332 14686 4 140000 3
14333 14687 5 150010 3
14334 14688 5 150020 3
14335 14689 5 150030 3
14336 14690 5 150040 3
14337 14692 3 101000050 1
14338 14693 3 101000060 1
14339 14694 3 101000080 1
14340 14695 3 101000040 1
14341 14696 3 109000060 1
14342 14697 3 109000070 1
14343 14698 3 109000080 1
14344 14699 3 105000060 1
14345 14700 3 105000070 1
14346 14701 3 105000080 1
14347 14702 3 104000050 1
14348 14703 3 106000050 1
14349 14704 3 102000060 1
14350 14705 3 102000070 1
14351 14706 3 102000080 1
14352 14707 3 103000050 1
14353 14708 3 105000050 1
14354 14709 3 107000060 1
14355 14710 3 107000070 1
14356 14711 3 107000080 1
14357 14712 3 108000050 1
14358 14713 3 109000050 1
14359 14714 3 103000060 1
14360 14715 3 103000070 1
14361 14716 3 103000080 1
14362 14717 3 110000050 1
14363 14718 3 106000060 1
14364 14719 3 106000070 1
14365 14720 3 106000080 1
14366 14721 3 101000070 1
14367 14722 3 110000060 1
14368 14723 3 104000060 1
14369 14724 3 104000070 1
14370 14725 3 104000080 1
14371 14726 3 102000050 1
14372 14727 3 104000170 1
14373 14728 3 104000260 1
14374 14729 3 111000010 1
14375 14730 3 111000020 1
14376 14731 3 111000030 1
14377 14732 3 112000020 1
14378 14733 3 112000030 1
14379 14734 3 108000060 1
14380 14735 3 108000070 1
14381 14736 3 108000080 1
14382 14737 3 107000050 1
14383 14738 3 112000010 1
14384 14739 3 110000070 1
14385 14740 3 110000080 1
14386 14741 3 118000020 1
14387 14742 3 118000030 1
14388 14743 3 118000040 1
14389 14744 4 101000090 1
14390 14745 4 101000100 1
14391 14746 4 101000110 1
14392 14747 4 109000100 1
14393 14748 4 105000100 1
14394 14749 4 105000110 1
14395 14750 4 108000090 1
14396 14751 4 110000090 1
14397 14752 4 102000100 1
14398 14753 4 102000110 1
14399 14754 4 106000090 1
14400 14755 4 109000090 1
14401 14756 4 107000100 1
14402 14757 4 103000090 1
14403 14758 4 102000090 1
14404 14759 4 103000100 1
14405 14760 4 106000100 1
14406 14761 4 106000110 1
14407 14762 4 104000090 1
14408 14763 4 104000100 1
14409 14764 4 104000110 1
14410 14765 4 107000090 1
14411 14766 4 104000180 1
14412 14767 4 111000040 1
14413 14768 4 112000040 1
14414 14769 4 108000100 1
14415 14770 4 105000090 1
14416 14771 4 110000100 1
14417 14772 4 118000050 1
14418 14773 4 118000060 1
14419 14774 5 101000120 1
14420 14775 5 109000110 1
14421 14776 5 105000120 1
14422 14777 5 102000120 1
14423 14778 5 107000110 1
14424 14779 5 103000120 1
14425 14780 5 106000120 1
14426 14781 5 104000120 1
14427 14782 5 104000190 1
14428 14783 5 111000060 1
14429 14784 5 112000060 1
14430 14785 5 108000110 1
14431 14786 5 110000110 1
14432 14787 5 118000070 1
14433 14788 1 201000010 8
14434 14789 1 292000010 8
14435 14790 1 299000040 8
14436 14791 1 299000070 8
14437 14792 1 299000110 8
14438 14793 1 299000120 8
14439 14794 1 299000140 8
14440 14795 2 202000010 8
14441 14796 2 290000010 8
14442 14797 2 299000010 8
14443 14798 2 299000150 8
14444 14799 2 299000190 8
14445 14800 2 299000200 8
14446 14801 2 299000210 8
14447 14802 3 298000050 8
14448 14803 3 298000060 8
14449 14804 3 299000060 8
14450 14805 3 299000170 8
14451 14806 3 290000120 8
14452 14807 3 291000050 8
14453 14808 3 292000020 8
14454 14809 4 299000670 8
14455 14810 4 299000680 8
14456 14811 4 204000010 8
14457 14812 4 209000040 8
14458 14813 4 202000070 8
14459 14814 4 209000070 8
14460 14815 4 203000110 8
14461 14816 4 290000110 8
14462 14817 4 206000110 8
14463 14818 5 297000100 8
14464 14819 5 291000020 8
14465 14820 5 297000130 8
14466 14821 5 297000140 8
14467 14822 5 203000010 8
14468 14823 5 206000030 8
14469 14824 5 203000050 8
14470 14825 5 202000090 8
14471 14826 5 204000080 8
14472 14827 5 202000150 8
14473 14828 5 204000100 8
14474 14829 3 170004 3
14475 14830 3 180004 3
14476 14831 4 140000 3
14477 14832 5 150010 3
14478 14833 5 150020 3
14479 14834 5 150030 3
14480 14835 5 150040 3
14481 14837 3 101000050 1
14482 14838 3 101000060 1
14483 14839 3 101000080 1
14484 14840 3 101000040 1
14485 14841 3 109000060 1
14486 14842 3 109000070 1
14487 14843 3 109000080 1
14488 14844 3 105000060 1
14489 14845 3 105000070 1
14490 14846 3 105000080 1
14491 14847 3 104000050 1
14492 14848 3 106000050 1
14493 14849 3 102000060 1
14494 14850 3 102000070 1
14495 14851 3 102000080 1
14496 14852 3 103000050 1
14497 14853 3 105000050 1
14498 14854 3 107000060 1
14499 14855 3 107000070 1
14500 14856 3 107000080 1
14501 14857 3 108000050 1
14502 14858 3 109000050 1
14503 14859 3 103000060 1
14504 14860 3 103000070 1
14505 14861 3 103000080 1
14506 14862 3 110000050 1
14507 14863 3 106000060 1
14508 14864 3 106000070 1
14509 14865 3 106000080 1
14510 14866 3 101000070 1
14511 14867 3 110000060 1
14512 14868 3 104000060 1
14513 14869 3 104000070 1
14514 14870 3 104000080 1
14515 14871 3 102000050 1
14516 14872 3 104000170 1
14517 14873 3 104000260 1
14518 14874 3 111000010 1
14519 14875 3 111000020 1
14520 14876 3 111000030 1
14521 14877 3 112000020 1
14522 14878 3 112000030 1
14523 14879 3 108000060 1
14524 14880 3 108000070 1
14525 14881 3 108000080 1
14526 14882 3 107000050 1
14527 14883 3 112000010 1
14528 14884 3 110000070 1
14529 14885 3 110000080 1
14530 14886 3 118000020 1
14531 14887 3 118000030 1
14532 14888 3 118000040 1
14533 14889 4 101000090 1
14534 14890 4 101000100 1
14535 14891 4 101000110 1
14536 14892 4 109000100 1
14537 14893 4 105000100 1
14538 14894 4 105000110 1
14539 14895 4 108000090 1
14540 14896 4 110000090 1
14541 14897 4 102000100 1
14542 14898 4 102000110 1
14543 14899 4 106000090 1
14544 14900 4 109000090 1
14545 14901 4 107000100 1
14546 14902 4 103000090 1
14547 14903 4 102000090 1
14548 14904 4 103000100 1
14549 14905 4 106000100 1
14550 14906 4 106000110 1
14551 14907 4 104000090 1
14552 14908 4 104000100 1
14553 14909 4 104000110 1
14554 14910 4 107000090 1
14555 14911 4 104000180 1
14556 14912 4 111000040 1
14557 14913 4 112000040 1
14558 14914 4 108000100 1
14559 14915 4 105000090 1
14560 14916 4 110000100 1
14561 14917 4 118000050 1
14562 14918 4 118000060 1
14563 14919 5 101000120 1
14564 14920 5 109000110 1
14565 14921 5 105000120 1
14566 14922 5 102000120 1
14567 14923 5 107000110 1
14568 14924 5 103000120 1
14569 14925 5 106000120 1
14570 14926 5 104000120 1
14571 14927 5 104000190 1
14572 14928 5 111000060 1
14573 14929 5 112000060 1
14574 14930 5 108000110 1
14575 14931 5 110000110 1
14576 14932 5 118000070 1
14577 14933 1 201000010 8
14578 14934 1 292000010 8
14579 14935 1 299000040 8
14580 14936 1 299000070 8
14581 14937 1 299000110 8
14582 14938 1 299000120 8
14583 14939 1 299000140 8
14584 14940 2 202000010 8
14585 14941 2 290000010 8
14586 14942 2 299000010 8
14587 14943 2 299000150 8
14588 14944 2 299000190 8
14589 14945 2 299000200 8
14590 14946 2 299000210 8
14591 14947 3 298000050 8
14592 14948 3 298000060 8
14593 14949 3 299000060 8
14594 14950 3 299000170 8
14595 14951 3 290000120 8
14596 14952 3 291000050 8
14597 14953 3 292000020 8
14598 14954 4 299000670 8
14599 14955 4 299000680 8
14600 14956 4 204000010 8
14601 14957 4 209000040 8
14602 14958 4 202000070 8
14603 14959 4 209000070 8
14604 14960 4 203000110 8
14605 14961 4 290000110 8
14606 14962 4 206000110 8
14607 14963 5 297000100 8
14608 14964 5 291000020 8
14609 14965 5 297000130 8
14610 14966 5 297000140 8
14611 14967 5 203000010 8
14612 14968 5 206000030 8
14613 14969 5 203000050 8
14614 14970 5 202000090 8
14615 14971 5 204000080 8
14616 14972 5 202000150 8
14617 14973 5 204000100 8
14618 14974 3 170004 3
14619 14975 3 180004 3
14620 14976 4 140000 3
14621 14977 5 150010 3
14622 14978 5 150020 3
14623 14979 5 150030 3
14624 14980 5 150040 3
14625 14982 3 101000050 1
14626 14983 3 101000060 1
14627 14984 3 101000080 1
14628 14985 3 101000040 1
14629 14986 3 109000060 1
14630 14987 3 109000070 1
14631 14988 3 109000080 1
14632 14989 3 105000060 1
14633 14990 3 105000070 1
14634 14991 3 105000080 1
14635 14992 3 104000050 1
14636 14993 3 106000050 1
14637 14994 3 102000060 1
14638 14995 3 102000070 1
14639 14996 3 102000080 1
14640 14997 3 103000050 1
14641 14998 3 105000050 1
14642 14999 3 107000060 1
14643 15000 3 107000070 1
14644 15001 3 107000080 1
14645 15002 3 108000050 1
14646 15003 3 109000050 1
14647 15004 3 103000060 1
14648 15005 3 103000070 1
14649 15006 3 103000080 1
14650 15007 3 110000050 1
14651 15008 3 106000060 1
14652 15009 3 106000070 1
14653 15010 3 106000080 1
14654 15011 3 101000070 1
14655 15012 3 110000060 1
14656 15013 3 104000060 1
14657 15014 3 104000070 1
14658 15015 3 104000080 1
14659 15016 3 102000050 1
14660 15017 3 104000170 1
14661 15018 3 104000260 1
14662 15019 3 111000010 1
14663 15020 3 111000020 1
14664 15021 3 111000030 1
14665 15022 3 112000020 1
14666 15023 3 112000030 1
14667 15024 3 108000060 1
14668 15025 3 108000070 1
14669 15026 3 108000080 1
14670 15027 3 107000050 1
14671 15028 3 112000010 1
14672 15029 3 110000070 1
14673 15030 3 110000080 1
14674 15031 3 118000020 1
14675 15032 3 118000030 1
14676 15033 3 118000040 1
14677 15034 4 101000090 1
14678 15035 4 101000100 1
14679 15036 4 101000110 1
14680 15037 4 109000100 1
14681 15038 4 105000100 1
14682 15039 4 105000110 1
14683 15040 4 108000090 1
14684 15041 4 110000090 1
14685 15042 4 102000100 1
14686 15043 4 102000110 1
14687 15044 4 106000090 1
14688 15045 4 109000090 1
14689 15046 4 107000100 1
14690 15047 4 103000090 1
14691 15048 4 102000090 1
14692 15049 4 103000100 1
14693 15050 4 106000100 1
14694 15051 4 106000110 1
14695 15052 4 104000090 1
14696 15053 4 104000100 1
14697 15054 4 104000110 1
14698 15055 4 107000090 1
14699 15056 4 104000180 1
14700 15057 4 111000040 1
14701 15058 4 112000040 1
14702 15059 4 108000100 1
14703 15060 4 105000090 1
14704 15061 4 110000100 1
14705 15062 4 118000050 1
14706 15063 4 118000060 1
14707 15064 5 101000120 1
14708 15065 5 109000110 1
14709 15066 5 105000120 1
14710 15067 5 102000120 1
14711 15068 5 107000110 1
14712 15069 5 103000120 1
14713 15070 5 106000120 1
14714 15071 5 104000120 1
14715 15072 5 104000190 1
14716 15073 5 111000060 1
14717 15074 5 112000060 1
14718 15075 5 108000110 1
14719 15076 5 110000110 1
14720 15077 5 118000070 1
14721 15078 1 201000010 8
14722 15079 1 292000010 8
14723 15080 1 299000040 8
14724 15081 1 299000070 8
14725 15082 1 299000110 8
14726 15083 1 299000120 8
14727 15084 1 299000140 8
14728 15085 2 202000010 8
14729 15086 2 290000010 8
14730 15087 2 299000010 8
14731 15088 2 299000150 8
14732 15089 2 299000190 8
14733 15090 2 299000200 8
14734 15091 2 299000210 8
14735 15092 3 298000050 8
14736 15093 3 298000060 8
14737 15094 3 299000060 8
14738 15095 3 299000170 8
14739 15096 3 290000120 8
14740 15097 3 291000050 8
14741 15098 3 292000020 8
14742 15099 4 299000670 8
14743 15100 4 299000680 8
14744 15101 4 204000010 8
14745 15102 4 209000040 8
14746 15103 4 202000070 8
14747 15104 4 209000070 8
14748 15105 4 203000110 8
14749 15106 4 290000110 8
14750 15107 4 206000110 8
14751 15108 5 297000100 8
14752 15109 5 291000020 8
14753 15110 5 297000130 8
14754 15111 5 297000140 8
14755 15112 5 203000010 8
14756 15113 5 206000030 8
14757 15114 5 203000050 8
14758 15115 5 202000090 8
14759 15116 5 204000080 8
14760 15117 5 202000150 8
14761 15118 5 204000100 8
14762 15119 3 170004 3
14763 15120 3 180004 3
14764 15121 4 140000 3
14765 15122 5 150010 3
14766 15123 5 150020 3
14767 15124 5 150030 3
14768 15125 5 150040 3
14769 15126 5 190000 3
14770 15127 5 200000 3
14771 15128 5 210000 3
14772 15130 3 111000010 1
14773 15131 3 111000020 1
14774 15132 3 111000030 1
14775 15133 3 112000020 1
14776 15134 3 112000030 1
14777 15135 3 108000060 1
14778 15136 3 108000070 1
14779 15137 3 108000080 1
14780 15138 3 107000050 1
14781 15139 3 112000010 1
14782 15140 3 110000070 1
14783 15141 3 110000080 1
14784 15142 4 111000040 1
14785 15143 4 112000040 1
14786 15144 4 108000100 1
14787 15145 4 105000090 1
14788 15146 4 110000100 1
14789 15147 5 111000060 1
14790 15148 5 112000060 1
14791 15149 5 108000110 1
14792 15150 5 110000110 1
14793 15151 1 108000000 2
14794 15152 2 108000001 2
14795 15153 3 108000002 2
14796 15154 4 108000003 2
14797 15155 5 108000004 2
14798 15156 1 107000000 2
14799 15157 2 107000001 2
14800 15158 3 107000002 2
14801 15159 4 107000003 2
14802 15160 5 107000004 2
14803 15161 1 120000000 2
14804 15162 2 120000001 2
14805 15163 3 120000002 2
14806 15164 4 120000003 2
14807 15165 5 120000004 2
14808 15166 3 170004 3
14809 15167 4 170005 3
14810 15168 3 180004 3
14811 15169 4 180005 3
14812 15170 4 140000 3
14813 15171 4 150010 3
14814 15172 4 150020 3
14815 15173 4 150030 3
14816 15174 4 150040 3
14817 15176 3 101000050 1
14818 15177 3 101000060 1
14819 15178 3 101000080 1
14820 15179 3 101000040 1
14821 15180 3 109000060 1
14822 15181 3 109000070 1
14823 15182 3 109000080 1
14824 15183 3 105000060 1
14825 15184 3 105000070 1
14826 15185 3 105000080 1
14827 15186 3 104000050 1
14828 15187 3 106000050 1
14829 15188 4 101000090 1
14830 15189 4 101000100 1
14831 15190 4 101000110 1
14832 15191 4 109000100 1
14833 15192 4 105000100 1
14834 15193 4 105000110 1
14835 15194 4 108000090 1
14836 15195 4 110000090 1
14837 15196 5 101000120 1
14838 15197 5 109000110 1
14839 15198 5 105000120 1
14840 15199 1 101000000 2
14841 15200 2 101000001 2
14842 15201 3 101000002 2
14843 15202 4 101000008 2
14844 15203 5 101000004 2
14845 15204 1 109000000 2
14846 15205 2 109000001 2
14847 15206 3 109000002 2
14848 15207 4 109000003 2
14849 15208 5 109000004 2
14850 15209 4 110024 3
14851 15210 4 110034 3
14852 15211 4 110044 3
14853 15212 4 110054 3
14854 15213 3 110060 3
14855 15214 3 110070 3
14856 15215 3 110080 3
14857 15216 3 110090 3
14858 15217 3 110100 3
14859 15218 3 110110 3
14860 15219 3 110120 3
14861 15220 3 110130 3
14862 15221 3 110140 3
14863 15222 3 110150 3
14864 15223 3 110160 3
14865 15224 3 110170 3
14866 15225 3 110180 3
14867 15226 3 110190 3
14868 15227 3 110200 3
14869 15228 3 110210 3
14870 15229 3 110220 3
14871 15230 3 110230 3
14872 15231 3 110240 3
14873 15232 3 110250 3
14874 15233 3 110260 3
14875 15234 3 110270 3
14876 15235 3 110620 3
14877 15236 3 110670 3
14878 15237 4 140000 3
14879 15238 4 150010 3
14880 15239 4 150020 3
14881 15240 4 150030 3
14882 15241 4 150040 3
14883 15243 3 102000060 1
14884 15244 3 102000070 1
14885 15245 3 102000080 1
14886 15246 3 103000050 1
14887 15247 3 105000050 1
14888 15248 3 107000060 1
14889 15249 3 107000070 1
14890 15250 3 107000080 1
14891 15251 3 108000050 1
14892 15252 3 109000050 1
14893 15253 3 103000060 1
14894 15254 3 103000070 1
14895 15255 3 103000080 1
14896 15256 3 110000050 1
14897 15257 4 102000100 1
14898 15258 4 102000110 1
14899 15259 4 102000350 1
14900 15260 4 106000090 1
14901 15261 4 109000090 1
14902 15262 4 107000100 1
14903 15263 4 103000090 1
14904 15264 4 102000090 1
14905 15265 4 103000100 1
14906 15266 5 102000120 1
14907 15267 5 107000110 1
14908 15268 5 103000120 1
14909 15269 1 102000000 2
14910 15270 2 102000001 2
14911 15271 3 102000002 2
14912 15272 4 102000003 2
14913 15273 5 102000004 2
14914 15274 1 105000000 2
14915 15275 2 105000001 2
14916 15276 3 105000002 2
14917 15277 4 105000003 2
14918 15278 5 105000004 2
14919 15279 1 112000000 2
14920 15280 2 112000001 2
14921 15281 3 112000002 2
14922 15282 4 112000003 2
14923 15283 5 112000004 2
14924 15284 4 120024 3
14925 15285 4 120034 3
14926 15286 4 120044 3
14927 15287 4 120054 3
14928 15288 3 120241 3
14929 15289 3 120251 3
14930 15290 3 120261 3
14931 15291 3 120271 3
14932 15292 3 120300 3
14933 15293 3 120310 3
14934 15294 3 120320 3
14935 15295 3 120330 3
14936 15296 3 120340 3
14937 15297 3 120350 3
14938 15298 3 120360 3
14939 15299 3 120370 3
14940 15300 3 120380 3
14941 15301 3 120390 3
14942 15302 3 120400 3
14943 15303 3 120410 3
14944 15304 3 120420 3
14945 15305 3 120430 3
14946 15306 3 120450 3
14947 15307 3 120460 3
14948 15308 3 120550 3
14949 15309 3 120560 3
14950 15310 3 120570 3
14951 15311 3 120990 3
14952 15312 3 121000 3
14953 15313 3 121010 3
14954 15314 3 121020 3
14955 15315 3 121100 3
14956 15316 4 140000 3
14957 15317 4 150010 3
14958 15318 4 150020 3
14959 15319 4 150030 3
14960 15320 4 150040 3
14961 15322 3 118000020 1
14962 15323 3 118000030 1
14963 15324 3 118000040 1
14964 15325 3 106000060 1
14965 15326 3 106000070 1
14966 15327 3 106000080 1
14967 15328 3 101000070 1
14968 15329 3 110000060 1
14969 15330 3 104000060 1
14970 15331 3 104000070 1
14971 15332 3 104000080 1
14972 15333 3 102000050 1
14973 15334 3 104000170 1
14974 15335 3 104000260 1
14975 15336 4 118000050 1
14976 15337 4 118000060 1
14977 15338 4 106000100 1
14978 15339 4 106000110 1
14979 15340 4 104000090 1
14980 15341 4 104000100 1
14981 15342 4 104000110 1
14982 15343 4 104000270 1
14983 15344 4 107000090 1
14984 15345 4 104000180 1
14985 15346 5 118000070 1
14986 15347 5 106000120 1
14987 15348 5 104000120 1
14988 15349 5 104000190 1
14989 15350 1 103000000 2
14990 15351 2 103000001 2
14991 15352 3 103000002 2
14992 15353 4 103000003 2
14993 15354 5 103000004 2
14994 15355 1 111000000 2
14995 15356 2 111000001 2
14996 15357 3 111000002 2
14997 15358 4 111000003 2
14998 15359 5 111000004 2
14999 15360 1 115000000 2
15000 15361 2 115000001 2
15001 15362 3 115000002 2
15002 15363 4 115000003 2
15003 15364 5 115000004 2
15004 15365 4 130024 3
15005 15366 4 130034 3
15006 15367 4 130044 3
15007 15368 4 130054 3
15008 15369 3 130060 3
15009 15370 3 130070 3
15010 15371 3 130080 3
15011 15372 3 130090 3
15012 15373 3 130100 3
15013 15374 3 130110 3
15014 15375 3 130120 3
15015 15376 3 130130 3
15016 15377 3 130140 3
15017 15378 3 130150 3
15018 15379 3 130160 3
15019 15380 3 130170 3
15020 15381 3 130180 3
15021 15382 3 130190 3
15022 15383 3 130200 3
15023 15384 3 130420 3
15024 15385 3 130510 3
15025 15386 3 130520 3
15026 15387 3 130531 3
15027 15388 3 130540 3
15028 15389 3 130660 3
15029 15390 3 130700 3
15030 15391 3 130790 3
15031 15392 3 130800 3
15032 15393 3 131130 3
15033 15394 4 140000 3
15034 15395 4 150010 3
15035 15396 4 150020 3
15036 15397 4 150030 3
15037 15398 4 150040 3
15038 15400 1 101000010 1
15039 15401 1 102000010 1
15040 15402 1 103000010 1
15041 15403 1 104000010 1
15042 15404 1 105000010 1
15043 15405 1 106000010 1
15044 15406 1 107000010 1
15045 15407 1 108000010 1
15046 15408 1 109000010 1
15047 15409 1 110000010 1
15048 15410 2 101000020 1
15049 15411 2 101000030 1
15050 15412 2 102000020 1
15051 15413 2 102000030 1
15052 15414 2 102000040 1
15053 15415 2 103000020 1
15054 15416 2 103000030 1
15055 15417 2 103000040 1
15056 15418 2 104000020 1
15057 15419 2 104000030 1
15058 15420 2 104000040 1
15059 15421 2 105000020 1
15060 15422 2 105000030 1
15061 15423 2 105000040 1
15062 15424 2 106000020 1
15063 15425 2 106000030 1
15064 15426 2 106000040 1
15065 15427 2 107000020 1
15066 15428 2 107000030 1
15067 15429 2 107000040 1
15068 15430 2 108000020 1
15069 15431 2 108000030 1
15070 15432 2 108000040 1
15071 15433 2 109000020 1
15072 15434 2 109000030 1
15073 15435 2 109000040 1
15074 15436 2 110000020 1
15075 15437 2 110000030 1
15076 15438 2 110000040 1
15077 15439 2 118000010 1
15078 15440 3 101000050 1
15079 15441 3 101000060 1
15080 15442 3 101000080 1
15081 15443 3 101000040 1
15082 15444 3 109000060 1
15083 15445 3 109000070 1
15084 15446 3 109000080 1
15085 15447 3 105000060 1
15086 15448 3 105000070 1
15087 15449 3 105000080 1
15088 15450 3 104000050 1
15089 15451 3 106000050 1
15090 15452 3 102000060 1
15091 15453 3 102000070 1
15092 15454 3 102000080 1
15093 15455 3 103000050 1
15094 15456 3 105000050 1
15095 15457 3 107000060 1
15096 15458 3 107000070 1
15097 15459 3 107000080 1
15098 15460 3 108000050 1
15099 15461 3 109000050 1
15100 15462 3 103000060 1
15101 15463 3 103000070 1
15102 15464 3 103000080 1
15103 15465 3 110000050 1
15104 15466 3 106000060 1
15105 15467 3 106000070 1
15106 15468 3 106000080 1
15107 15469 3 101000070 1
15108 15470 3 110000060 1
15109 15471 3 104000060 1
15110 15472 3 104000070 1
15111 15473 3 104000080 1
15112 15474 3 102000050 1
15113 15475 3 104000170 1
15114 15476 3 104000260 1
15115 15477 3 111000010 1
15116 15478 3 111000020 1
15117 15479 3 111000030 1
15118 15480 3 112000020 1
15119 15481 3 112000030 1
15120 15482 3 108000060 1
15121 15483 3 108000070 1
15122 15484 3 108000080 1
15123 15485 3 107000050 1
15124 15486 3 112000010 1
15125 15487 3 110000070 1
15126 15488 3 110000080 1
15127 15489 3 118000020 1
15128 15490 3 118000030 1
15129 15491 3 118000040 1
15130 15492 4 101000090 1
15131 15493 4 101000100 1
15132 15494 4 101000110 1
15133 15495 4 109000100 1
15134 15496 4 105000100 1
15135 15497 4 105000110 1
15136 15498 4 108000090 1
15137 15499 4 110000090 1
15138 15500 4 102000100 1
15139 15501 4 102000110 1
15140 15502 4 106000090 1
15141 15503 4 109000090 1
15142 15504 4 107000100 1
15143 15505 4 103000090 1
15144 15506 4 102000090 1
15145 15507 4 103000100 1
15146 15508 4 106000100 1
15147 15509 4 106000110 1
15148 15510 4 104000090 1
15149 15511 4 104000100 1
15150 15512 4 104000110 1
15151 15513 4 107000090 1
15152 15514 4 104000180 1
15153 15515 4 111000040 1
15154 15516 4 112000040 1
15155 15517 4 108000100 1
15156 15518 4 105000090 1
15157 15519 4 110000100 1
15158 15520 4 118000050 1
15159 15521 4 118000060 1
15160 15522 5 101000120 1
15161 15523 5 109000110 1
15162 15524 5 105000120 1
15163 15525 5 102000120 1
15164 15526 5 107000110 1
15165 15527 5 103000120 1
15166 15528 5 106000120 1
15167 15529 5 104000120 1
15168 15530 5 104000190 1
15169 15531 5 111000060 1
15170 15532 5 112000060 1
15171 15533 5 108000110 1
15172 15534 5 110000110 1
15173 15535 5 118000070 1
15174 15536 1 201000010 8
15175 15537 1 292000010 8
15176 15538 1 299000040 8
15177 15539 1 299000070 8
15178 15540 1 299000110 8
15179 15541 1 299000120 8
15180 15542 1 299000140 8
15181 15543 2 202000010 8
15182 15544 2 290000010 8
15183 15545 2 299000010 8
15184 15546 2 299000150 8
15185 15547 2 299000190 8
15186 15548 2 299000200 8
15187 15549 2 299000210 8
15188 15550 3 298000050 8
15189 15551 3 298000060 8
15190 15552 3 299000060 8
15191 15553 3 299000170 8
15192 15554 3 290000120 8
15193 15555 3 291000050 8
15194 15556 3 292000020 8
15195 15557 4 299000670 8
15196 15558 4 299000680 8
15197 15559 4 204000010 8
15198 15560 4 209000040 8
15199 15561 4 202000070 8
15200 15562 4 209000070 8
15201 15563 4 203000110 8
15202 15564 4 290000110 8
15203 15565 4 206000110 8
15204 15566 4 209000160 8
15205 15567 5 297000100 8
15206 15568 5 291000020 8
15207 15569 5 297000130 8
15208 15570 5 297000140 8
15209 15571 5 203000010 8
15210 15572 5 206000030 8
15211 15573 5 203000050 8
15212 15574 5 202000090 8
15213 15575 5 204000080 8
15214 15576 5 202000150 8
15215 15577 5 204000100 8
15216 15578 5 206000170 8
15217 15579 1 170002 3
15218 15580 1 180002 3
15219 15581 2 170003 3
15220 15582 2 180003 3
15221 15583 3 170004 3
15222 15584 3 180004 3
15223 15585 4 140000 3
15224 15586 5 150010 3
15225 15587 5 150020 3
15226 15588 5 150030 3
15227 15589 5 150040 3
15228 15591 1 101000010 1
15229 15592 1 102000010 1
15230 15593 1 103000010 1
15231 15594 1 104000010 1
15232 15595 1 105000010 1
15233 15596 1 106000010 1
15234 15597 1 107000010 1
15235 15598 1 108000010 1
15236 15599 1 109000010 1
15237 15600 1 110000010 1
15238 15601 2 101000020 1
15239 15602 2 101000030 1
15240 15603 2 102000020 1
15241 15604 2 102000030 1
15242 15605 2 102000040 1
15243 15606 2 103000020 1
15244 15607 2 103000030 1
15245 15608 2 103000040 1
15246 15609 2 104000020 1
15247 15610 2 104000030 1
15248 15611 2 104000040 1
15249 15612 2 105000020 1
15250 15613 2 105000030 1
15251 15614 2 105000040 1
15252 15615 2 106000020 1
15253 15616 2 106000030 1
15254 15617 2 106000040 1
15255 15618 2 107000020 1
15256 15619 2 107000030 1
15257 15620 2 107000040 1
15258 15621 2 108000020 1
15259 15622 2 108000030 1
15260 15623 2 108000040 1
15261 15624 2 109000020 1
15262 15625 2 109000030 1
15263 15626 2 109000040 1
15264 15627 2 110000020 1
15265 15628 2 110000030 1
15266 15629 2 110000040 1
15267 15630 2 118000010 1
15268 15631 3 101000050 1
15269 15632 3 101000060 1
15270 15633 3 101000080 1
15271 15634 3 101000040 1
15272 15635 3 109000060 1
15273 15636 3 109000070 1
15274 15637 3 109000080 1
15275 15638 3 105000060 1
15276 15639 3 105000070 1
15277 15640 3 105000080 1
15278 15641 3 104000050 1
15279 15642 3 106000050 1
15280 15643 3 102000060 1
15281 15644 3 102000070 1
15282 15645 3 102000080 1
15283 15646 3 103000050 1
15284 15647 3 105000050 1
15285 15648 3 107000060 1
15286 15649 3 107000070 1
15287 15650 3 107000080 1
15288 15651 3 108000050 1
15289 15652 3 109000050 1
15290 15653 3 103000060 1
15291 15654 3 103000070 1
15292 15655 3 103000080 1
15293 15656 3 110000050 1
15294 15657 3 106000060 1
15295 15658 3 106000070 1
15296 15659 3 106000080 1
15297 15660 3 101000070 1
15298 15661 3 110000060 1
15299 15662 3 104000060 1
15300 15663 3 104000070 1
15301 15664 3 104000080 1
15302 15665 3 102000050 1
15303 15666 3 104000170 1
15304 15667 3 104000260 1
15305 15668 3 111000010 1
15306 15669 3 111000020 1
15307 15670 3 111000030 1
15308 15671 3 112000020 1
15309 15672 3 112000030 1
15310 15673 3 108000060 1
15311 15674 3 108000070 1
15312 15675 3 108000080 1
15313 15676 3 107000050 1
15314 15677 3 112000010 1
15315 15678 3 110000070 1
15316 15679 3 110000080 1
15317 15680 3 118000020 1
15318 15681 3 118000030 1
15319 15682 3 118000040 1
15320 15683 4 101000090 1
15321 15684 4 101000100 1
15322 15685 4 101000110 1
15323 15686 4 109000100 1
15324 15687 4 105000100 1
15325 15688 4 105000110 1
15326 15689 4 108000090 1
15327 15690 4 110000090 1
15328 15691 4 102000100 1
15329 15692 4 102000110 1
15330 15693 4 106000090 1
15331 15694 4 109000090 1
15332 15695 4 107000100 1
15333 15696 4 103000090 1
15334 15697 4 102000090 1
15335 15698 4 103000100 1
15336 15699 4 106000100 1
15337 15700 4 106000110 1
15338 15701 4 104000090 1
15339 15702 4 104000100 1
15340 15703 4 104000110 1
15341 15704 4 107000090 1
15342 15705 4 104000180 1
15343 15706 4 111000040 1
15344 15707 4 112000040 1
15345 15708 4 108000100 1
15346 15709 4 105000090 1
15347 15710 4 110000100 1
15348 15711 4 118000050 1
15349 15712 4 118000060 1
15350 15713 5 101000120 1
15351 15714 5 109000110 1
15352 15715 5 105000120 1
15353 15716 5 102000120 1
15354 15717 5 107000110 1
15355 15718 5 103000120 1
15356 15719 5 106000120 1
15357 15720 5 104000120 1
15358 15721 5 104000190 1
15359 15722 5 111000060 1
15360 15723 5 112000060 1
15361 15724 5 108000110 1
15362 15725 5 110000110 1
15363 15726 5 118000070 1
15364 15727 1 201000010 8
15365 15728 1 292000010 8
15366 15729 1 299000040 8
15367 15730 1 299000070 8
15368 15731 1 299000110 8
15369 15732 1 299000120 8
15370 15733 1 299000140 8
15371 15734 2 202000010 8
15372 15735 2 290000010 8
15373 15736 2 299000010 8
15374 15737 2 299000150 8
15375 15738 2 299000190 8
15376 15739 2 299000200 8
15377 15740 2 299000210 8
15378 15741 3 298000050 8
15379 15742 3 298000060 8
15380 15743 3 299000060 8
15381 15744 3 299000170 8
15382 15745 3 290000120 8
15383 15746 3 291000050 8
15384 15747 3 292000020 8
15385 15748 4 299000670 8
15386 15749 4 299000680 8
15387 15750 4 204000010 8
15388 15751 4 209000040 8
15389 15752 4 202000070 8
15390 15753 4 209000070 8
15391 15754 4 203000110 8
15392 15755 4 290000110 8
15393 15756 4 206000110 8
15394 15757 4 209000160 8
15395 15758 5 297000100 8
15396 15759 5 291000020 8
15397 15760 5 297000130 8
15398 15761 5 297000140 8
15399 15762 5 203000010 8
15400 15763 5 206000030 8
15401 15764 5 203000050 8
15402 15765 5 202000090 8
15403 15766 5 204000080 8
15404 15767 5 202000150 8
15405 15768 5 204000100 8
15406 15769 5 206000170 8
15407 15770 2 170003 3
15408 15771 2 180003 3
15409 15772 3 170004 3
15410 15773 3 180004 3
15411 15774 4 140000 3
15412 15775 5 150010 3
15413 15776 5 150020 3
15414 15777 5 150030 3
15415 15778 5 150040 3
15416 15780 3 101000050 1
15417 15781 3 101000060 1
15418 15782 3 101000080 1
15419 15783 3 101000040 1
15420 15784 3 109000060 1
15421 15785 3 109000070 1
15422 15786 3 109000080 1
15423 15787 3 105000060 1
15424 15788 3 105000070 1
15425 15789 3 105000080 1
15426 15790 3 104000050 1
15427 15791 3 106000050 1
15428 15792 3 102000060 1
15429 15793 3 102000070 1
15430 15794 3 102000080 1
15431 15795 3 103000050 1
15432 15796 3 105000050 1
15433 15797 3 107000060 1
15434 15798 3 107000070 1
15435 15799 3 107000080 1
15436 15800 3 108000050 1
15437 15801 3 109000050 1
15438 15802 3 103000060 1
15439 15803 3 103000070 1
15440 15804 3 103000080 1
15441 15805 3 110000050 1
15442 15806 3 106000060 1
15443 15807 3 106000070 1
15444 15808 3 106000080 1
15445 15809 3 101000070 1
15446 15810 3 110000060 1
15447 15811 3 104000060 1
15448 15812 3 104000070 1
15449 15813 3 104000080 1
15450 15814 3 102000050 1
15451 15815 3 104000170 1
15452 15816 3 104000260 1
15453 15817 3 111000010 1
15454 15818 3 111000020 1
15455 15819 3 111000030 1
15456 15820 3 112000020 1
15457 15821 3 112000030 1
15458 15822 3 108000060 1
15459 15823 3 108000070 1
15460 15824 3 108000080 1
15461 15825 3 107000050 1
15462 15826 3 112000010 1
15463 15827 3 110000070 1
15464 15828 3 110000080 1
15465 15829 3 118000020 1
15466 15830 3 118000030 1
15467 15831 3 118000040 1
15468 15832 4 101000090 1
15469 15833 4 101000100 1
15470 15834 4 101000110 1
15471 15835 4 109000100 1
15472 15836 4 105000100 1
15473 15837 4 105000110 1
15474 15838 4 108000090 1
15475 15839 4 110000090 1
15476 15840 4 102000100 1
15477 15841 4 102000110 1
15478 15842 4 106000090 1
15479 15843 4 109000090 1
15480 15844 4 107000100 1
15481 15845 4 103000090 1
15482 15846 4 102000090 1
15483 15847 4 103000100 1
15484 15848 4 106000100 1
15485 15849 4 106000110 1
15486 15850 4 104000090 1
15487 15851 4 104000100 1
15488 15852 4 104000110 1
15489 15853 4 107000090 1
15490 15854 4 104000180 1
15491 15855 4 111000040 1
15492 15856 4 112000040 1
15493 15857 4 108000100 1
15494 15858 4 105000090 1
15495 15859 4 110000100 1
15496 15860 4 118000050 1
15497 15861 4 118000060 1
15498 15862 5 101000120 1
15499 15863 5 109000110 1
15500 15864 5 105000120 1
15501 15865 5 102000120 1
15502 15866 5 107000110 1
15503 15867 5 103000120 1
15504 15868 5 106000120 1
15505 15869 5 104000120 1
15506 15870 5 104000190 1
15507 15871 5 111000060 1
15508 15872 5 112000060 1
15509 15873 5 108000110 1
15510 15874 5 110000110 1
15511 15875 5 118000070 1
15512 15876 1 201000010 8
15513 15877 1 292000010 8
15514 15878 1 299000040 8
15515 15879 1 299000070 8
15516 15880 1 299000110 8
15517 15881 1 299000120 8
15518 15882 1 299000140 8
15519 15883 2 202000010 8
15520 15884 2 290000010 8
15521 15885 2 299000010 8
15522 15886 2 299000150 8
15523 15887 2 299000190 8
15524 15888 2 299000200 8
15525 15889 2 299000210 8
15526 15890 3 298000050 8
15527 15891 3 298000060 8
15528 15892 3 299000060 8
15529 15893 3 299000170 8
15530 15894 3 290000120 8
15531 15895 3 291000050 8
15532 15896 3 292000020 8
15533 15897 4 299000670 8
15534 15898 4 299000680 8
15535 15899 4 204000010 8
15536 15900 4 209000040 8
15537 15901 4 202000070 8
15538 15902 4 209000070 8
15539 15903 4 203000110 8
15540 15904 4 290000110 8
15541 15905 4 206000110 8
15542 15906 4 209000160 8
15543 15907 5 297000100 8
15544 15908 5 291000020 8
15545 15909 5 297000130 8
15546 15910 5 297000140 8
15547 15911 5 203000010 8
15548 15912 5 206000030 8
15549 15913 5 203000050 8
15550 15914 5 202000090 8
15551 15915 5 204000080 8
15552 15916 5 202000150 8
15553 15917 5 204000100 8
15554 15918 5 206000170 8
15555 15919 3 170004 3
15556 15920 3 180004 3
15557 15921 4 140000 3
15558 15922 5 150010 3
15559 15923 5 150020 3
15560 15924 5 150030 3
15561 15925 5 150040 3
15562 15927 3 101000050 1
15563 15928 3 101000060 1
15564 15929 3 101000080 1
15565 15930 3 101000040 1
15566 15931 3 109000060 1
15567 15932 3 109000070 1
15568 15933 3 109000080 1
15569 15934 3 105000060 1
15570 15935 3 105000070 1
15571 15936 3 105000080 1
15572 15937 3 104000050 1
15573 15938 3 106000050 1
15574 15939 3 102000060 1
15575 15940 3 102000070 1
15576 15941 3 102000080 1
15577 15942 3 103000050 1
15578 15943 3 105000050 1
15579 15944 3 107000060 1
15580 15945 3 107000070 1
15581 15946 3 107000080 1
15582 15947 3 108000050 1
15583 15948 3 109000050 1
15584 15949 3 103000060 1
15585 15950 3 103000070 1
15586 15951 3 103000080 1
15587 15952 3 110000050 1
15588 15953 3 106000060 1
15589 15954 3 106000070 1
15590 15955 3 106000080 1
15591 15956 3 101000070 1
15592 15957 3 110000060 1
15593 15958 3 104000060 1
15594 15959 3 104000070 1
15595 15960 3 104000080 1
15596 15961 3 102000050 1
15597 15962 3 104000170 1
15598 15963 3 104000260 1
15599 15964 3 111000010 1
15600 15965 3 111000020 1
15601 15966 3 111000030 1
15602 15967 3 112000020 1
15603 15968 3 112000030 1
15604 15969 3 108000060 1
15605 15970 3 108000070 1
15606 15971 3 108000080 1
15607 15972 3 107000050 1
15608 15973 3 112000010 1
15609 15974 3 110000070 1
15610 15975 3 110000080 1
15611 15976 3 118000020 1
15612 15977 3 118000030 1
15613 15978 3 118000040 1
15614 15979 4 101000090 1
15615 15980 4 101000100 1
15616 15981 4 101000110 1
15617 15982 4 109000100 1
15618 15983 4 105000100 1
15619 15984 4 105000110 1
15620 15985 4 108000090 1
15621 15986 4 110000090 1
15622 15987 4 102000100 1
15623 15988 4 102000110 1
15624 15989 4 106000090 1
15625 15990 4 109000090 1
15626 15991 4 107000100 1
15627 15992 4 103000090 1
15628 15993 4 102000090 1
15629 15994 4 103000100 1
15630 15995 4 106000100 1
15631 15996 4 106000110 1
15632 15997 4 104000090 1
15633 15998 4 104000100 1
15634 15999 4 104000110 1
15635 16000 4 107000090 1
15636 16001 4 104000180 1
15637 16002 4 111000040 1
15638 16003 4 112000040 1
15639 16004 4 108000100 1
15640 16005 4 105000090 1
15641 16006 4 110000100 1
15642 16007 4 118000050 1
15643 16008 4 118000060 1
15644 16009 5 101000120 1
15645 16010 5 109000110 1
15646 16011 5 105000120 1
15647 16012 5 102000120 1
15648 16013 5 107000110 1
15649 16014 5 103000120 1
15650 16015 5 106000120 1
15651 16016 5 104000120 1
15652 16017 5 104000190 1
15653 16018 5 111000060 1
15654 16019 5 112000060 1
15655 16020 5 108000110 1
15656 16021 5 110000110 1
15657 16022 5 118000070 1
15658 16023 1 201000010 8
15659 16024 1 292000010 8
15660 16025 1 299000040 8
15661 16026 1 299000070 8
15662 16027 1 299000110 8
15663 16028 1 299000120 8
15664 16029 1 299000140 8
15665 16030 2 202000010 8
15666 16031 2 290000010 8
15667 16032 2 299000010 8
15668 16033 2 299000150 8
15669 16034 2 299000190 8
15670 16035 2 299000200 8
15671 16036 2 299000210 8
15672 16037 3 298000050 8
15673 16038 3 298000060 8
15674 16039 3 299000060 8
15675 16040 3 299000170 8
15676 16041 3 290000120 8
15677 16042 3 291000050 8
15678 16043 3 292000020 8
15679 16044 4 299000670 8
15680 16045 4 299000680 8
15681 16046 4 204000010 8
15682 16047 4 209000040 8
15683 16048 4 202000070 8
15684 16049 4 209000070 8
15685 16050 4 203000110 8
15686 16051 4 290000110 8
15687 16052 4 206000110 8
15688 16053 4 209000160 8
15689 16054 5 297000100 8
15690 16055 5 291000020 8
15691 16056 5 297000130 8
15692 16057 5 297000140 8
15693 16058 5 203000010 8
15694 16059 5 206000030 8
15695 16060 5 203000050 8
15696 16061 5 202000090 8
15697 16062 5 204000080 8
15698 16063 5 202000150 8
15699 16064 5 204000100 8
15700 16065 5 206000170 8
15701 16066 3 170004 3
15702 16067 3 180004 3
15703 16068 4 140000 3
15704 16069 5 150010 3
15705 16070 5 150020 3
15706 16071 5 150030 3
15707 16072 5 150040 3
15708 16074 3 101000050 1
15709 16075 3 101000060 1
15710 16076 3 101000080 1
15711 16077 3 101000040 1
15712 16078 3 109000060 1
15713 16079 3 109000070 1
15714 16080 3 109000080 1
15715 16081 3 105000060 1
15716 16082 3 105000070 1
15717 16083 3 105000080 1
15718 16084 3 104000050 1
15719 16085 3 106000050 1
15720 16086 3 102000060 1
15721 16087 3 102000070 1
15722 16088 3 102000080 1
15723 16089 3 103000050 1
15724 16090 3 105000050 1
15725 16091 3 107000060 1
15726 16092 3 107000070 1
15727 16093 3 107000080 1
15728 16094 3 108000050 1
15729 16095 3 109000050 1
15730 16096 3 103000060 1
15731 16097 3 103000070 1
15732 16098 3 103000080 1
15733 16099 3 110000050 1
15734 16100 3 106000060 1
15735 16101 3 106000070 1
15736 16102 3 106000080 1
15737 16103 3 101000070 1
15738 16104 3 110000060 1
15739 16105 3 104000060 1
15740 16106 3 104000070 1
15741 16107 3 104000080 1
15742 16108 3 102000050 1
15743 16109 3 104000170 1
15744 16110 3 104000260 1
15745 16111 3 111000010 1
15746 16112 3 111000020 1
15747 16113 3 111000030 1
15748 16114 3 112000020 1
15749 16115 3 112000030 1
15750 16116 3 108000060 1
15751 16117 3 108000070 1
15752 16118 3 108000080 1
15753 16119 3 107000050 1
15754 16120 3 112000010 1
15755 16121 3 110000070 1
15756 16122 3 110000080 1
15757 16123 3 118000020 1
15758 16124 3 118000030 1
15759 16125 3 118000040 1
15760 16126 4 101000090 1
15761 16127 4 101000100 1
15762 16128 4 101000110 1
15763 16129 4 109000100 1
15764 16130 4 105000100 1
15765 16131 4 105000110 1
15766 16132 4 108000090 1
15767 16133 4 110000090 1
15768 16134 4 102000100 1
15769 16135 4 102000110 1
15770 16136 4 106000090 1
15771 16137 4 109000090 1
15772 16138 4 107000100 1
15773 16139 4 103000090 1
15774 16140 4 102000090 1
15775 16141 4 103000100 1
15776 16142 4 106000100 1
15777 16143 4 106000110 1
15778 16144 4 104000090 1
15779 16145 4 104000100 1
15780 16146 4 104000110 1
15781 16147 4 107000090 1
15782 16148 4 104000180 1
15783 16149 4 111000040 1
15784 16150 4 112000040 1
15785 16151 4 108000100 1
15786 16152 4 105000090 1
15787 16153 4 110000100 1
15788 16154 4 118000050 1
15789 16155 4 118000060 1
15790 16156 5 101000120 1
15791 16157 5 109000110 1
15792 16158 5 105000120 1
15793 16159 5 102000120 1
15794 16160 5 107000110 1
15795 16161 5 103000120 1
15796 16162 5 106000120 1
15797 16163 5 104000120 1
15798 16164 5 104000190 1
15799 16165 5 111000060 1
15800 16166 5 112000060 1
15801 16167 5 108000110 1
15802 16168 5 110000110 1
15803 16169 5 118000070 1
15804 16170 1 201000010 8
15805 16171 1 292000010 8
15806 16172 1 299000040 8
15807 16173 1 299000070 8
15808 16174 1 299000110 8
15809 16175 1 299000120 8
15810 16176 1 299000140 8
15811 16177 2 202000010 8
15812 16178 2 290000010 8
15813 16179 2 299000010 8
15814 16180 2 299000150 8
15815 16181 2 299000190 8
15816 16182 2 299000200 8
15817 16183 2 299000210 8
15818 16184 3 298000050 8
15819 16185 3 298000060 8
15820 16186 3 299000060 8
15821 16187 3 299000170 8
15822 16188 3 290000120 8
15823 16189 3 291000050 8
15824 16190 3 292000020 8
15825 16191 4 299000670 8
15826 16192 4 299000680 8
15827 16193 4 204000010 8
15828 16194 4 209000040 8
15829 16195 4 202000070 8
15830 16196 4 209000070 8
15831 16197 4 203000110 8
15832 16198 4 290000110 8
15833 16199 4 206000110 8
15834 16200 4 209000160 8
15835 16201 5 297000100 8
15836 16202 5 291000020 8
15837 16203 5 297000130 8
15838 16204 5 297000140 8
15839 16205 5 203000010 8
15840 16206 5 206000030 8
15841 16207 5 203000050 8
15842 16208 5 202000090 8
15843 16209 5 204000080 8
15844 16210 5 202000150 8
15845 16211 5 204000100 8
15846 16212 5 206000170 8
15847 16213 3 170004 3
15848 16214 3 180004 3
15849 16215 4 140000 3
15850 16216 5 150010 3
15851 16217 5 150020 3
15852 16218 5 150030 3
15853 16219 5 150040 3
15854 16220 5 190000 3
15855 16221 5 200000 3
15856 16222 5 210000 3
15857 16224 1 101000010 1
15858 16225 1 102000010 1
15859 16226 1 103000010 1
15860 16227 1 104000010 1
15861 16228 1 105000010 1
15862 16229 1 106000010 1
15863 16230 1 107000010 1
15864 16231 1 108000010 1
15865 16232 1 109000010 1
15866 16233 1 110000010 1
15867 16234 2 101000020 1
15868 16235 2 101000030 1
15869 16236 2 102000020 1
15870 16237 2 102000030 1
15871 16238 2 102000040 1
15872 16239 2 103000020 1
15873 16240 2 103000030 1
15874 16241 2 103000040 1
15875 16242 2 104000020 1
15876 16243 2 104000030 1
15877 16244 2 104000040 1
15878 16245 2 105000020 1
15879 16246 2 105000030 1
15880 16247 2 105000040 1
15881 16248 2 106000020 1
15882 16249 2 106000030 1
15883 16250 2 106000040 1
15884 16251 2 107000020 1
15885 16252 2 107000030 1
15886 16253 2 107000040 1
15887 16254 2 108000020 1
15888 16255 2 108000030 1
15889 16256 2 108000040 1
15890 16257 2 109000020 1
15891 16258 2 109000030 1
15892 16259 2 109000040 1
15893 16260 2 110000020 1
15894 16261 2 110000030 1
15895 16262 2 110000040 1
15896 16263 2 118000010 1
15897 16264 3 101000050 1
15898 16265 3 101000060 1
15899 16266 3 101000080 1
15900 16267 3 101000040 1
15901 16268 3 109000060 1
15902 16269 3 109000070 1
15903 16270 3 109000080 1
15904 16271 3 105000060 1
15905 16272 3 105000070 1
15906 16273 3 105000080 1
15907 16274 3 104000050 1
15908 16275 3 106000050 1
15909 16276 3 102000060 1
15910 16277 3 102000070 1
15911 16278 3 102000080 1
15912 16279 3 103000050 1
15913 16280 3 105000050 1
15914 16281 3 107000060 1
15915 16282 3 107000070 1
15916 16283 3 107000080 1
15917 16284 3 108000050 1
15918 16285 3 109000050 1
15919 16286 3 103000060 1
15920 16287 3 103000070 1
15921 16288 3 103000080 1
15922 16289 3 110000050 1
15923 16290 3 106000060 1
15924 16291 3 106000070 1
15925 16292 3 106000080 1
15926 16293 3 101000070 1
15927 16294 3 110000060 1
15928 16295 3 104000060 1
15929 16296 3 104000070 1
15930 16297 3 104000080 1
15931 16298 3 102000050 1
15932 16299 3 104000170 1
15933 16300 3 104000260 1
15934 16301 3 111000010 1
15935 16302 3 111000020 1
15936 16303 3 111000030 1
15937 16304 3 112000020 1
15938 16305 3 112000030 1
15939 16306 3 108000060 1
15940 16307 3 108000070 1
15941 16308 3 108000080 1
15942 16309 3 107000050 1
15943 16310 3 112000010 1
15944 16311 3 110000070 1
15945 16312 3 110000080 1
15946 16313 3 118000020 1
15947 16314 3 118000030 1
15948 16315 3 118000040 1
15949 16316 4 101000090 1
15950 16317 4 101000100 1
15951 16318 4 101000110 1
15952 16319 4 109000100 1
15953 16320 4 105000100 1
15954 16321 4 105000110 1
15955 16322 4 108000090 1
15956 16323 4 110000090 1
15957 16324 4 102000100 1
15958 16325 4 102000110 1
15959 16326 4 106000090 1
15960 16327 4 109000090 1
15961 16328 4 107000100 1
15962 16329 4 103000090 1
15963 16330 4 102000090 1
15964 16331 4 103000100 1
15965 16332 4 106000100 1
15966 16333 4 106000110 1
15967 16334 4 104000090 1
15968 16335 4 104000100 1
15969 16336 4 104000110 1
15970 16337 4 107000090 1
15971 16338 4 104000180 1
15972 16339 4 111000040 1
15973 16340 4 112000040 1
15974 16341 4 108000100 1
15975 16342 4 105000090 1
15976 16343 4 110000100 1
15977 16344 4 118000050 1
15978 16345 4 118000060 1
15979 16346 5 101000120 1
15980 16347 5 109000110 1
15981 16348 5 105000120 1
15982 16349 5 102000120 1
15983 16350 5 107000110 1
15984 16351 5 103000120 1
15985 16352 5 106000120 1
15986 16353 5 104000120 1
15987 16354 5 104000190 1
15988 16355 5 111000060 1
15989 16356 5 112000060 1
15990 16357 5 108000110 1
15991 16358 5 110000110 1
15992 16359 5 118000070 1
15993 16360 1 201000010 8
15994 16361 1 292000010 8
15995 16362 1 299000040 8
15996 16363 1 299000070 8
15997 16364 1 299000110 8
15998 16365 1 299000120 8
15999 16366 1 299000140 8
16000 16367 2 202000010 8
16001 16368 2 290000010 8
16002 16369 2 299000010 8
16003 16370 2 299000150 8
16004 16371 2 299000190 8
16005 16372 2 299000200 8
16006 16373 2 299000210 8
16007 16374 3 298000050 8
16008 16375 3 298000060 8
16009 16376 3 299000060 8
16010 16377 3 299000170 8
16011 16378 3 290000120 8
16012 16379 3 291000050 8
16013 16380 3 292000020 8
16014 16381 4 299000670 8
16015 16382 4 299000680 8
16016 16383 4 204000010 8
16017 16384 4 209000040 8
16018 16385 4 202000070 8
16019 16386 4 209000070 8
16020 16387 4 203000110 8
16021 16388 4 290000110 8
16022 16389 4 206000110 8
16023 16390 4 209000160 8
16024 16391 4 209000190 8
16025 16392 5 297000100 8
16026 16393 5 291000020 8
16027 16394 5 297000130 8
16028 16395 5 297000140 8
16029 16396 5 203000010 8
16030 16397 5 206000030 8
16031 16398 5 203000050 8
16032 16399 5 202000090 8
16033 16400 5 204000080 8
16034 16401 5 202000150 8
16035 16402 5 204000100 8
16036 16403 5 206000170 8
16037 16404 5 204000200 8
16038 16405 1 170002 3
16039 16406 1 180002 3
16040 16407 2 170003 3
16041 16408 2 180003 3
16042 16409 3 170004 3
16043 16410 3 180004 3
16044 16411 4 140000 3
16045 16412 5 150010 3
16046 16413 5 150020 3
16047 16414 5 150030 3
16048 16415 5 150040 3
16049 16417 1 101000010 1
16050 16418 1 102000010 1
16051 16419 1 103000010 1
16052 16420 1 104000010 1
16053 16421 1 105000010 1
16054 16422 1 106000010 1
16055 16423 1 107000010 1
16056 16424 1 108000010 1
16057 16425 1 109000010 1
16058 16426 1 110000010 1
16059 16427 2 101000020 1
16060 16428 2 101000030 1
16061 16429 2 102000020 1
16062 16430 2 102000030 1
16063 16431 2 102000040 1
16064 16432 2 103000020 1
16065 16433 2 103000030 1
16066 16434 2 103000040 1
16067 16435 2 104000020 1
16068 16436 2 104000030 1
16069 16437 2 104000040 1
16070 16438 2 105000020 1
16071 16439 2 105000030 1
16072 16440 2 105000040 1
16073 16441 2 106000020 1
16074 16442 2 106000030 1
16075 16443 2 106000040 1
16076 16444 2 107000020 1
16077 16445 2 107000030 1
16078 16446 2 107000040 1
16079 16447 2 108000020 1
16080 16448 2 108000030 1
16081 16449 2 108000040 1
16082 16450 2 109000020 1
16083 16451 2 109000030 1
16084 16452 2 109000040 1
16085 16453 2 110000020 1
16086 16454 2 110000030 1
16087 16455 2 110000040 1
16088 16456 2 118000010 1
16089 16457 3 101000050 1
16090 16458 3 101000060 1
16091 16459 3 101000080 1
16092 16460 3 101000040 1
16093 16461 3 109000060 1
16094 16462 3 109000070 1
16095 16463 3 109000080 1
16096 16464 3 105000060 1
16097 16465 3 105000070 1
16098 16466 3 105000080 1
16099 16467 3 104000050 1
16100 16468 3 106000050 1
16101 16469 3 102000060 1
16102 16470 3 102000070 1
16103 16471 3 102000080 1
16104 16472 3 103000050 1
16105 16473 3 105000050 1
16106 16474 3 107000060 1
16107 16475 3 107000070 1
16108 16476 3 107000080 1
16109 16477 3 108000050 1
16110 16478 3 109000050 1
16111 16479 3 103000060 1
16112 16480 3 103000070 1
16113 16481 3 103000080 1
16114 16482 3 110000050 1
16115 16483 3 106000060 1
16116 16484 3 106000070 1
16117 16485 3 106000080 1
16118 16486 3 101000070 1
16119 16487 3 110000060 1
16120 16488 3 104000060 1
16121 16489 3 104000070 1
16122 16490 3 104000080 1
16123 16491 3 102000050 1
16124 16492 3 104000170 1
16125 16493 3 104000260 1
16126 16494 3 111000010 1
16127 16495 3 111000020 1
16128 16496 3 111000030 1
16129 16497 3 112000020 1
16130 16498 3 112000030 1
16131 16499 3 108000060 1
16132 16500 3 108000070 1
16133 16501 3 108000080 1
16134 16502 3 107000050 1
16135 16503 3 112000010 1
16136 16504 3 110000070 1
16137 16505 3 110000080 1
16138 16506 3 118000020 1
16139 16507 3 118000030 1
16140 16508 3 118000040 1
16141 16509 4 101000090 1
16142 16510 4 101000100 1
16143 16511 4 101000110 1
16144 16512 4 109000100 1
16145 16513 4 105000100 1
16146 16514 4 105000110 1
16147 16515 4 108000090 1
16148 16516 4 110000090 1
16149 16517 4 102000100 1
16150 16518 4 102000110 1
16151 16519 4 106000090 1
16152 16520 4 109000090 1
16153 16521 4 107000100 1
16154 16522 4 103000090 1
16155 16523 4 102000090 1
16156 16524 4 103000100 1
16157 16525 4 106000100 1
16158 16526 4 106000110 1
16159 16527 4 104000090 1
16160 16528 4 104000100 1
16161 16529 4 104000110 1
16162 16530 4 107000090 1
16163 16531 4 104000180 1
16164 16532 4 111000040 1
16165 16533 4 112000040 1
16166 16534 4 108000100 1
16167 16535 4 105000090 1
16168 16536 4 110000100 1
16169 16537 4 118000050 1
16170 16538 4 118000060 1
16171 16539 5 101000120 1
16172 16540 5 109000110 1
16173 16541 5 105000120 1
16174 16542 5 102000120 1
16175 16543 5 107000110 1
16176 16544 5 103000120 1
16177 16545 5 106000120 1
16178 16546 5 104000120 1
16179 16547 5 104000190 1
16180 16548 5 111000060 1
16181 16549 5 112000060 1
16182 16550 5 108000110 1
16183 16551 5 110000110 1
16184 16552 5 118000070 1
16185 16553 1 201000010 8
16186 16554 1 292000010 8
16187 16555 1 299000040 8
16188 16556 1 299000070 8
16189 16557 1 299000110 8
16190 16558 1 299000120 8
16191 16559 1 299000140 8
16192 16560 2 202000010 8
16193 16561 2 290000010 8
16194 16562 2 299000010 8
16195 16563 2 299000150 8
16196 16564 2 299000190 8
16197 16565 2 299000200 8
16198 16566 2 299000210 8
16199 16567 3 298000050 8
16200 16568 3 298000060 8
16201 16569 3 299000060 8
16202 16570 3 299000170 8
16203 16571 3 290000120 8
16204 16572 3 291000050 8
16205 16573 3 292000020 8
16206 16574 4 299000670 8
16207 16575 4 299000680 8
16208 16576 4 204000010 8
16209 16577 4 209000040 8
16210 16578 4 202000070 8
16211 16579 4 209000070 8
16212 16580 4 203000110 8
16213 16581 4 290000110 8
16214 16582 4 206000110 8
16215 16583 4 209000160 8
16216 16584 4 209000190 8
16217 16585 5 297000100 8
16218 16586 5 291000020 8
16219 16587 5 297000130 8
16220 16588 5 297000140 8
16221 16589 5 203000010 8
16222 16590 5 206000030 8
16223 16591 5 203000050 8
16224 16592 5 202000090 8
16225 16593 5 204000080 8
16226 16594 5 202000150 8
16227 16595 5 204000100 8
16228 16596 5 206000170 8
16229 16597 5 204000200 8
16230 16598 2 170003 3
16231 16599 2 180003 3
16232 16600 3 170004 3
16233 16601 3 180004 3
16234 16602 4 140000 3
16235 16603 5 150010 3
16236 16604 5 150020 3
16237 16605 5 150030 3
16238 16606 5 150040 3
16239 16608 3 101000050 1
16240 16609 3 101000060 1
16241 16610 3 101000080 1
16242 16611 3 101000040 1
16243 16612 3 109000060 1
16244 16613 3 109000070 1
16245 16614 3 109000080 1
16246 16615 3 105000060 1
16247 16616 3 105000070 1
16248 16617 3 105000080 1
16249 16618 3 104000050 1
16250 16619 3 106000050 1
16251 16620 3 102000060 1
16252 16621 3 102000070 1
16253 16622 3 102000080 1
16254 16623 3 103000050 1
16255 16624 3 105000050 1
16256 16625 3 107000060 1
16257 16626 3 107000070 1
16258 16627 3 107000080 1
16259 16628 3 108000050 1
16260 16629 3 109000050 1
16261 16630 3 103000060 1
16262 16631 3 103000070 1
16263 16632 3 103000080 1
16264 16633 3 110000050 1
16265 16634 3 106000060 1
16266 16635 3 106000070 1
16267 16636 3 106000080 1
16268 16637 3 101000070 1
16269 16638 3 110000060 1
16270 16639 3 104000060 1
16271 16640 3 104000070 1
16272 16641 3 104000080 1
16273 16642 3 102000050 1
16274 16643 3 104000170 1
16275 16644 3 104000260 1
16276 16645 3 111000010 1
16277 16646 3 111000020 1
16278 16647 3 111000030 1
16279 16648 3 112000020 1
16280 16649 3 112000030 1
16281 16650 3 108000060 1
16282 16651 3 108000070 1
16283 16652 3 108000080 1
16284 16653 3 107000050 1
16285 16654 3 112000010 1
16286 16655 3 110000070 1
16287 16656 3 110000080 1
16288 16657 3 118000020 1
16289 16658 3 118000030 1
16290 16659 3 118000040 1
16291 16660 4 101000090 1
16292 16661 4 101000100 1
16293 16662 4 101000110 1
16294 16663 4 109000100 1
16295 16664 4 105000100 1
16296 16665 4 105000110 1
16297 16666 4 108000090 1
16298 16667 4 110000090 1
16299 16668 4 102000100 1
16300 16669 4 102000110 1
16301 16670 4 106000090 1
16302 16671 4 109000090 1
16303 16672 4 107000100 1
16304 16673 4 103000090 1
16305 16674 4 102000090 1
16306 16675 4 103000100 1
16307 16676 4 106000100 1
16308 16677 4 106000110 1
16309 16678 4 104000090 1
16310 16679 4 104000100 1
16311 16680 4 104000110 1
16312 16681 4 107000090 1
16313 16682 4 104000180 1
16314 16683 4 111000040 1
16315 16684 4 112000040 1
16316 16685 4 108000100 1
16317 16686 4 105000090 1
16318 16687 4 110000100 1
16319 16688 4 118000050 1
16320 16689 4 118000060 1
16321 16690 5 101000120 1
16322 16691 5 109000110 1
16323 16692 5 105000120 1
16324 16693 5 102000120 1
16325 16694 5 107000110 1
16326 16695 5 103000120 1
16327 16696 5 106000120 1
16328 16697 5 104000120 1
16329 16698 5 104000190 1
16330 16699 5 111000060 1
16331 16700 5 112000060 1
16332 16701 5 108000110 1
16333 16702 5 110000110 1
16334 16703 5 118000070 1
16335 16704 1 201000010 8
16336 16705 1 292000010 8
16337 16706 1 299000040 8
16338 16707 1 299000070 8
16339 16708 1 299000110 8
16340 16709 1 299000120 8
16341 16710 1 299000140 8
16342 16711 2 202000010 8
16343 16712 2 290000010 8
16344 16713 2 299000010 8
16345 16714 2 299000150 8
16346 16715 2 299000190 8
16347 16716 2 299000200 8
16348 16717 2 299000210 8
16349 16718 3 298000050 8
16350 16719 3 298000060 8
16351 16720 3 299000060 8
16352 16721 3 299000170 8
16353 16722 3 290000120 8
16354 16723 3 291000050 8
16355 16724 3 292000020 8
16356 16725 4 299000670 8
16357 16726 4 299000680 8
16358 16727 4 204000010 8
16359 16728 4 209000040 8
16360 16729 4 202000070 8
16361 16730 4 209000070 8
16362 16731 4 203000110 8
16363 16732 4 290000110 8
16364 16733 4 206000110 8
16365 16734 4 209000160 8
16366 16735 4 209000190 8
16367 16736 5 297000100 8
16368 16737 5 291000020 8
16369 16738 5 297000130 8
16370 16739 5 297000140 8
16371 16740 5 203000010 8
16372 16741 5 206000030 8
16373 16742 5 203000050 8
16374 16743 5 202000090 8
16375 16744 5 204000080 8
16376 16745 5 202000150 8
16377 16746 5 204000100 8
16378 16747 5 206000170 8
16379 16748 5 204000200 8
16380 16749 3 170004 3
16381 16750 3 180004 3
16382 16751 4 140000 3
16383 16752 5 150010 3
16384 16753 5 150020 3
16385 16754 5 150030 3
16386 16755 5 150040 3
16387 16757 3 101000050 1
16388 16758 3 101000060 1
16389 16759 3 101000080 1
16390 16760 3 101000040 1
16391 16761 3 109000060 1
16392 16762 3 109000070 1
16393 16763 3 109000080 1
16394 16764 3 105000060 1
16395 16765 3 105000070 1
16396 16766 3 105000080 1
16397 16767 3 104000050 1
16398 16768 3 106000050 1
16399 16769 3 102000060 1
16400 16770 3 102000070 1
16401 16771 3 102000080 1
16402 16772 3 103000050 1
16403 16773 3 105000050 1
16404 16774 3 107000060 1
16405 16775 3 107000070 1
16406 16776 3 107000080 1
16407 16777 3 108000050 1
16408 16778 3 109000050 1
16409 16779 3 103000060 1
16410 16780 3 103000070 1
16411 16781 3 103000080 1
16412 16782 3 110000050 1
16413 16783 3 106000060 1
16414 16784 3 106000070 1
16415 16785 3 106000080 1
16416 16786 3 101000070 1
16417 16787 3 110000060 1
16418 16788 3 104000060 1
16419 16789 3 104000070 1
16420 16790 3 104000080 1
16421 16791 3 102000050 1
16422 16792 3 104000170 1
16423 16793 3 104000260 1
16424 16794 3 111000010 1
16425 16795 3 111000020 1
16426 16796 3 111000030 1
16427 16797 3 112000020 1
16428 16798 3 112000030 1
16429 16799 3 108000060 1
16430 16800 3 108000070 1
16431 16801 3 108000080 1
16432 16802 3 107000050 1
16433 16803 3 112000010 1
16434 16804 3 110000070 1
16435 16805 3 110000080 1
16436 16806 3 118000020 1
16437 16807 3 118000030 1
16438 16808 3 118000040 1
16439 16809 4 101000090 1
16440 16810 4 101000100 1
16441 16811 4 101000110 1
16442 16812 4 109000100 1
16443 16813 4 105000100 1
16444 16814 4 105000110 1
16445 16815 4 108000090 1
16446 16816 4 110000090 1
16447 16817 4 102000100 1
16448 16818 4 102000110 1
16449 16819 4 106000090 1
16450 16820 4 109000090 1
16451 16821 4 107000100 1
16452 16822 4 103000090 1
16453 16823 4 102000090 1
16454 16824 4 103000100 1
16455 16825 4 106000100 1
16456 16826 4 106000110 1
16457 16827 4 104000090 1
16458 16828 4 104000100 1
16459 16829 4 104000110 1
16460 16830 4 107000090 1
16461 16831 4 104000180 1
16462 16832 4 111000040 1
16463 16833 4 112000040 1
16464 16834 4 108000100 1
16465 16835 4 105000090 1
16466 16836 4 110000100 1
16467 16837 4 118000050 1
16468 16838 4 118000060 1
16469 16839 5 101000120 1
16470 16840 5 109000110 1
16471 16841 5 105000120 1
16472 16842 5 102000120 1
16473 16843 5 107000110 1
16474 16844 5 103000120 1
16475 16845 5 106000120 1
16476 16846 5 104000120 1
16477 16847 5 104000190 1
16478 16848 5 111000060 1
16479 16849 5 112000060 1
16480 16850 5 108000110 1
16481 16851 5 110000110 1
16482 16852 5 118000070 1
16483 16853 1 201000010 8
16484 16854 1 292000010 8
16485 16855 1 299000040 8
16486 16856 1 299000070 8
16487 16857 1 299000110 8
16488 16858 1 299000120 8
16489 16859 1 299000140 8
16490 16860 2 202000010 8
16491 16861 2 290000010 8
16492 16862 2 299000010 8
16493 16863 2 299000150 8
16494 16864 2 299000190 8
16495 16865 2 299000200 8
16496 16866 2 299000210 8
16497 16867 3 298000050 8
16498 16868 3 298000060 8
16499 16869 3 299000060 8
16500 16870 3 299000170 8
16501 16871 3 290000120 8
16502 16872 3 291000050 8
16503 16873 3 292000020 8
16504 16874 4 299000670 8
16505 16875 4 299000680 8
16506 16876 4 204000010 8
16507 16877 4 209000040 8
16508 16878 4 202000070 8
16509 16879 4 209000070 8
16510 16880 4 203000110 8
16511 16881 4 290000110 8
16512 16882 4 206000110 8
16513 16883 4 209000160 8
16514 16884 4 209000190 8
16515 16885 5 297000100 8
16516 16886 5 291000020 8
16517 16887 5 297000130 8
16518 16888 5 297000140 8
16519 16889 5 203000010 8
16520 16890 5 206000030 8
16521 16891 5 203000050 8
16522 16892 5 202000090 8
16523 16893 5 204000080 8
16524 16894 5 202000150 8
16525 16895 5 204000100 8
16526 16896 5 206000170 8
16527 16897 5 204000200 8
16528 16898 3 170004 3
16529 16899 3 180004 3
16530 16900 4 140000 3
16531 16901 5 150010 3
16532 16902 5 150020 3
16533 16903 5 150030 3
16534 16904 5 150040 3
16535 16906 3 101000050 1
16536 16907 3 101000060 1
16537 16908 3 101000080 1
16538 16909 3 101000040 1
16539 16910 3 109000060 1
16540 16911 3 109000070 1
16541 16912 3 109000080 1
16542 16913 3 105000060 1
16543 16914 3 105000070 1
16544 16915 3 105000080 1
16545 16916 3 104000050 1
16546 16917 3 106000050 1
16547 16918 3 102000060 1
16548 16919 3 102000070 1
16549 16920 3 102000080 1
16550 16921 3 103000050 1
16551 16922 3 105000050 1
16552 16923 3 107000060 1
16553 16924 3 107000070 1
16554 16925 3 107000080 1
16555 16926 3 108000050 1
16556 16927 3 109000050 1
16557 16928 3 103000060 1
16558 16929 3 103000070 1
16559 16930 3 103000080 1
16560 16931 3 110000050 1
16561 16932 3 106000060 1
16562 16933 3 106000070 1
16563 16934 3 106000080 1
16564 16935 3 101000070 1
16565 16936 3 110000060 1
16566 16937 3 104000060 1
16567 16938 3 104000070 1
16568 16939 3 104000080 1
16569 16940 3 102000050 1
16570 16941 3 104000170 1
16571 16942 3 104000260 1
16572 16943 3 111000010 1
16573 16944 3 111000020 1
16574 16945 3 111000030 1
16575 16946 3 112000020 1
16576 16947 3 112000030 1
16577 16948 3 108000060 1
16578 16949 3 108000070 1
16579 16950 3 108000080 1
16580 16951 3 107000050 1
16581 16952 3 112000010 1
16582 16953 3 110000070 1
16583 16954 3 110000080 1
16584 16955 3 118000020 1
16585 16956 3 118000030 1
16586 16957 3 118000040 1
16587 16958 4 101000090 1
16588 16959 4 101000100 1
16589 16960 4 101000110 1
16590 16961 4 109000100 1
16591 16962 4 105000100 1
16592 16963 4 105000110 1
16593 16964 4 108000090 1
16594 16965 4 110000090 1
16595 16966 4 102000100 1
16596 16967 4 102000110 1
16597 16968 4 106000090 1
16598 16969 4 109000090 1
16599 16970 4 107000100 1
16600 16971 4 103000090 1
16601 16972 4 102000090 1
16602 16973 4 103000100 1
16603 16974 4 106000100 1
16604 16975 4 106000110 1
16605 16976 4 104000090 1
16606 16977 4 104000100 1
16607 16978 4 104000110 1
16608 16979 4 107000090 1
16609 16980 4 104000180 1
16610 16981 4 111000040 1
16611 16982 4 112000040 1
16612 16983 4 108000100 1
16613 16984 4 105000090 1
16614 16985 4 110000100 1
16615 16986 4 118000050 1
16616 16987 4 118000060 1
16617 16988 5 101000120 1
16618 16989 5 109000110 1
16619 16990 5 105000120 1
16620 16991 5 102000120 1
16621 16992 5 107000110 1
16622 16993 5 103000120 1
16623 16994 5 106000120 1
16624 16995 5 104000120 1
16625 16996 5 104000190 1
16626 16997 5 111000060 1
16627 16998 5 112000060 1
16628 16999 5 108000110 1
16629 17000 5 110000110 1
16630 17001 5 118000070 1
16631 17002 1 201000010 8
16632 17003 1 292000010 8
16633 17004 1 299000040 8
16634 17005 1 299000070 8
16635 17006 1 299000110 8
16636 17007 1 299000120 8
16637 17008 1 299000140 8
16638 17009 2 202000010 8
16639 17010 2 290000010 8
16640 17011 2 299000010 8
16641 17012 2 299000150 8
16642 17013 2 299000190 8
16643 17014 2 299000200 8
16644 17015 2 299000210 8
16645 17016 3 298000050 8
16646 17017 3 298000060 8
16647 17018 3 299000060 8
16648 17019 3 299000170 8
16649 17020 3 290000120 8
16650 17021 3 291000050 8
16651 17022 3 292000020 8
16652 17023 4 299000670 8
16653 17024 4 299000680 8
16654 17025 4 204000010 8
16655 17026 4 209000040 8
16656 17027 4 202000070 8
16657 17028 4 209000070 8
16658 17029 4 203000110 8
16659 17030 4 290000110 8
16660 17031 4 206000110 8
16661 17032 4 209000160 8
16662 17033 4 209000190 8
16663 17034 5 297000100 8
16664 17035 5 291000020 8
16665 17036 5 297000130 8
16666 17037 5 297000140 8
16667 17038 5 203000010 8
16668 17039 5 206000030 8
16669 17040 5 203000050 8
16670 17041 5 202000090 8
16671 17042 5 204000080 8
16672 17043 5 202000150 8
16673 17044 5 204000100 8
16674 17045 5 206000170 8
16675 17046 5 204000200 8
16676 17047 3 170004 3
16677 17048 3 180004 3
16678 17049 4 140000 3
16679 17050 5 150010 3
16680 17051 5 150020 3
16681 17052 5 150030 3
16682 17053 5 150040 3
16683 17054 5 190000 3
16684 17055 5 200000 3
16685 17057 3 118000020 1
16686 17058 3 118000030 1
16687 17059 3 118000040 1
16688 17060 3 106000060 1
16689 17061 3 106000070 1
16690 17062 3 106000080 1
16691 17063 3 101000070 1
16692 17064 3 110000060 1
16693 17065 3 104000060 1
16694 17066 3 104000070 1
16695 17067 3 104000080 1
16696 17068 3 102000050 1
16697 17069 3 104000170 1
16698 17070 3 104000260 1
16699 17071 4 118000050 1
16700 17072 4 118000060 1
16701 17073 4 106000100 1
16702 17074 4 106000110 1
16703 17075 4 104000090 1
16704 17076 4 104000100 1
16705 17077 4 104000110 1
16706 17078 4 104000270 1
16707 17079 4 107000090 1
16708 17080 4 104000180 1
16709 17081 5 118000070 1
16710 17082 5 106000120 1
16711 17083 5 104000120 1
16712 17084 5 104000190 1
16713 17085 1 103000000 2
16714 17086 2 103000001 2
16715 17087 3 103000002 2
16716 17088 4 103000003 2
16717 17089 5 103000004 2
16718 17090 1 111000000 2
16719 17091 2 111000001 2
16720 17092 3 111000002 2
16721 17093 4 111000003 2
16722 17094 5 111000004 2
16723 17095 1 115000000 2
16724 17096 2 115000001 2
16725 17097 3 115000002 2
16726 17098 4 115000003 2
16727 17099 5 115000004 2
16728 17100 3 170004 3
16729 17101 4 170005 3
16730 17102 3 180004 3
16731 17103 4 180005 3
16732 17104 4 140000 3
16733 17105 4 150010 3
16734 17106 4 150020 3
16735 17107 4 150030 3
16736 17108 4 150040 3
16737 17110 3 111000010 1
16738 17111 3 111000020 1
16739 17112 3 111000030 1
16740 17113 3 112000020 1
16741 17114 3 112000030 1
16742 17115 3 108000060 1
16743 17116 3 108000070 1
16744 17117 3 108000080 1
16745 17118 3 107000050 1
16746 17119 3 112000010 1
16747 17120 3 110000070 1
16748 17121 3 110000080 1
16749 17122 4 111000040 1
16750 17123 4 112000040 1
16751 17124 4 108000100 1
16752 17125 4 105000090 1
16753 17126 4 110000100 1
16754 17127 5 111000060 1
16755 17128 5 112000060 1
16756 17129 5 108000110 1
16757 17130 5 110000110 1
16758 17131 1 108000000 2
16759 17132 2 108000001 2
16760 17133 3 108000002 2
16761 17134 4 108000003 2
16762 17135 5 108000004 2
16763 17136 1 107000000 2
16764 17137 2 107000001 2
16765 17138 3 107000002 2
16766 17139 4 107000003 2
16767 17140 5 107000004 2
16768 17141 1 120000000 2
16769 17142 2 120000001 2
16770 17143 3 120000002 2
16771 17144 4 120000003 2
16772 17145 5 120000004 2
16773 17146 4 110024 3
16774 17147 4 110034 3
16775 17148 4 110044 3
16776 17149 4 110054 3
16777 17150 3 110060 3
16778 17151 3 110070 3
16779 17152 3 110080 3
16780 17153 3 110090 3
16781 17154 3 110100 3
16782 17155 3 110110 3
16783 17156 3 110120 3
16784 17157 3 110130 3
16785 17158 3 110140 3
16786 17159 3 110150 3
16787 17160 3 110160 3
16788 17161 3 110170 3
16789 17162 3 110180 3
16790 17163 3 110190 3
16791 17164 3 110200 3
16792 17165 3 110210 3
16793 17166 3 110220 3
16794 17167 3 110230 3
16795 17168 3 110240 3
16796 17169 3 110250 3
16797 17170 3 110260 3
16798 17171 3 110270 3
16799 17172 3 110620 3
16800 17173 3 110670 3
16801 17174 4 140000 3
16802 17175 4 150010 3
16803 17176 4 150020 3
16804 17177 4 150030 3
16805 17178 4 150040 3
16806 17180 3 101000050 1
16807 17181 3 101000060 1
16808 17182 3 101000080 1
16809 17183 3 101000040 1
16810 17184 3 109000060 1
16811 17185 3 109000070 1
16812 17186 3 109000080 1
16813 17187 3 105000060 1
16814 17188 3 105000070 1
16815 17189 3 105000080 1
16816 17190 3 104000050 1
16817 17191 3 106000050 1
16818 17192 4 101000090 1
16819 17193 4 101000100 1
16820 17194 4 101000110 1
16821 17195 4 109000100 1
16822 17196 4 105000100 1
16823 17197 4 105000110 1
16824 17198 4 108000090 1
16825 17199 4 110000090 1
16826 17200 5 101000120 1
16827 17201 5 109000110 1
16828 17202 5 105000120 1
16829 17203 1 101000000 2
16830 17204 2 101000001 2
16831 17205 3 101000002 2
16832 17206 4 101000008 2
16833 17207 5 101000004 2
16834 17208 1 109000000 2
16835 17209 2 109000001 2
16836 17210 3 109000002 2
16837 17211 4 109000003 2
16838 17212 5 109000004 2
16839 17213 4 120024 3
16840 17214 4 120034 3
16841 17215 4 120044 3
16842 17216 4 120054 3
16843 17217 3 120241 3
16844 17218 3 120251 3
16845 17219 3 120261 3
16846 17220 3 120271 3
16847 17221 3 120300 3
16848 17222 3 120310 3
16849 17223 3 120320 3
16850 17224 3 120330 3
16851 17225 3 120340 3
16852 17226 3 120350 3
16853 17227 3 120360 3
16854 17228 3 120370 3
16855 17229 3 120380 3
16856 17230 3 120390 3
16857 17231 3 120400 3
16858 17232 3 120410 3
16859 17233 3 120420 3
16860 17234 3 120430 3
16861 17235 3 120450 3
16862 17236 3 120460 3
16863 17237 3 120550 3
16864 17238 3 120560 3
16865 17239 3 120570 3
16866 17240 3 120990 3
16867 17241 3 121000 3
16868 17242 3 121010 3
16869 17243 3 121020 3
16870 17244 3 121100 3
16871 17245 4 140000 3
16872 17246 4 150010 3
16873 17247 4 150020 3
16874 17248 4 150030 3
16875 17249 4 150040 3
16876 17251 3 102000060 1
16877 17252 3 102000070 1
16878 17253 3 102000080 1
16879 17254 3 103000050 1
16880 17255 3 105000050 1
16881 17256 3 107000060 1
16882 17257 3 107000070 1
16883 17258 3 107000080 1
16884 17259 3 108000050 1
16885 17260 3 109000050 1
16886 17261 3 103000060 1
16887 17262 3 103000070 1
16888 17263 3 103000080 1
16889 17264 3 110000050 1
16890 17265 4 102000100 1
16891 17266 4 102000110 1
16892 17267 4 102000350 1
16893 17268 4 106000090 1
16894 17269 4 109000090 1
16895 17270 4 107000100 1
16896 17271 4 103000090 1
16897 17272 4 102000090 1
16898 17273 4 103000100 1
16899 17274 5 102000120 1
16900 17275 5 107000110 1
16901 17276 5 103000120 1
16902 17277 1 102000000 2
16903 17278 2 102000001 2
16904 17279 3 102000002 2
16905 17280 4 102000003 2
16906 17281 5 102000004 2
16907 17282 1 105000000 2
16908 17283 2 105000001 2
16909 17284 3 105000002 2
16910 17285 4 105000003 2
16911 17286 5 105000004 2
16912 17287 1 112000000 2
16913 17288 2 112000001 2
16914 17289 3 112000002 2
16915 17290 4 112000003 2
16916 17291 5 112000004 2
16917 17292 4 130024 3
16918 17293 4 130034 3
16919 17294 4 130044 3
16920 17295 4 130054 3
16921 17296 3 130060 3
16922 17297 3 130070 3
16923 17298 3 130080 3
16924 17299 3 130090 3
16925 17300 3 130100 3
16926 17301 3 130110 3
16927 17302 3 130120 3
16928 17303 3 130130 3
16929 17304 3 130140 3
16930 17305 3 130150 3
16931 17306 3 130160 3
16932 17307 3 130170 3
16933 17308 3 130180 3
16934 17309 3 130190 3
16935 17310 3 130200 3
16936 17311 3 130420 3
16937 17312 3 130510 3
16938 17313 3 130520 3
16939 17314 3 130531 3
16940 17315 3 130540 3
16941 17316 3 130660 3
16942 17317 3 130700 3
16943 17318 3 130790 3
16944 17319 3 130800 3
16945 17320 3 131130 3
16946 17321 4 140000 3
16947 17322 4 150010 3
16948 17323 4 150020 3
16949 17324 4 150030 3
16950 17325 4 150040 3
16951 17327 4 101000250 1
16952 17328 4 102000260 1
16953 17329 4 103000220 1
16954 17330 4 104000250 1
16955 17331 4 105000210 1
16956 17332 4 106000210 1
16957 17333 4 107000140 1
16958 17334 4 108000150 1
16959 17335 4 109000230 1
16960 17336 4 110000170 1
16961 17337 4 111000140 1
16962 17338 4 112000110 1
16963 17339 4 118000140 1
16964 17340 5 101000300 1
16965 17341 5 102000360 1
16966 17342 5 103000310 1
16967 17343 5 104000370 1
16968 17344 5 109000290 1
16969 17345 5 101000310 1
16970 17346 5 102000410 1
16971 17347 1 201000010 8
16972 17348 1 292000010 8
16973 17349 1 299000040 8
16974 17350 1 299000070 8
16975 17351 1 299000110 8
16976 17352 1 299000120 8
16977 17353 1 299000140 8
16978 17354 2 202000010 8
16979 17355 2 290000010 8
16980 17356 2 299000010 8
16981 17357 2 299000150 8
16982 17358 2 299000190 8
16983 17359 2 299000200 8
16984 17360 2 299000210 8
16985 17361 3 290000120 8
16986 17362 3 291000050 8
16987 17363 3 292000020 8
16988 17364 3 298000050 8
16989 17365 3 298000060 8
16990 17366 3 299000060 8
16991 17367 3 299000170 8
16992 17368 4 201000170 8
16993 17369 4 202000070 8
16994 17370 4 202000370 8
16995 17371 4 202000400 8
16996 17372 4 202000440 8
16997 17373 4 203000110 8
16998 17374 4 203000270 8
16999 17375 4 203000350 8
17000 17376 4 204000010 8
17001 17377 4 204000370 8
17002 17378 4 205000220 8
17003 17379 4 206000110 8
17004 17380 4 206000240 8
17005 17381 4 206000270 8
17006 17382 4 209000040 8
17007 17383 4 209000070 8
17008 17384 4 209000160 8
17009 17385 4 209000190 8
17010 17386 4 209000240 8
17011 17387 4 215000150 8
17012 17388 4 290000110 8
17013 17389 4 290000130 8
17014 17390 4 298000120 8
17015 17391 4 299000670 8
17016 17392 4 299000680 8
17017 17393 4 201000090 8
17018 17394 4 202000160 8
17019 17395 4 203000150 8
17020 17396 4 204000110 8
17021 17397 4 205000110 8
17022 17398 4 206000120 8
17023 17399 4 211000060 8
17024 17400 4 212000050 8
17025 17401 4 299000440 8
17026 17402 4 299000450 8
17027 17403 4 299000460 8
17028 17404 4 299000470 8
17029 17405 4 299000480 8
17030 17406 4 299000550 8
17031 17407 4 299000560 8
17032 17408 4 299000570 8
17033 17409 4 299000580 8
17034 17410 4 299000590 8
17035 17411 4 299000600 8
17036 17412 4 299000610 8
17037 17413 4 299000620 8
17038 17414 4 299000630 8
17039 17415 4 299000640 8
17040 17416 4 299000650 8
17041 17417 4 299000230 8
17042 17418 4 299000240 8
17043 17419 4 299000250 8
17044 17420 4 299000260 8
17045 17421 4 299000270 8
17046 17422 4 299000280 8
17047 17423 4 299000290 8
17048 17424 4 299000300 8
17049 17425 4 299000310 8
17050 17426 4 299000320 8
17051 17427 4 299000330 8
17052 17428 4 299000340 8
17053 17429 4 299000350 8
17054 17430 4 299000360 8
17055 17431 4 299000370 8
17056 17432 4 299000380 8
17057 17433 4 299000390 8
17058 17434 4 299000400 8
17059 17435 4 215000050 8
17060 17436 4 216000060 8
17061 17437 4 217000020 8
17062 17438 4 218000030 8
17063 17439 4 299000500 8
17064 17440 4 299000510 8
17065 17441 4 299000520 8
17066 17442 4 299000530 8
17067 17443 4 299000540 8
17068 17444 4 299000660 8
17069 17445 5 202000090 8
17070 17446 5 202000150 8
17071 17447 5 203000010 8
17072 17448 5 203000050 8
17073 17449 5 203000260 8
17074 17450 5 204000080 8
17075 17451 5 204000100 8
17076 17452 5 204000200 8
17077 17453 5 204000270 8
17078 17454 5 206000030 8
17079 17455 5 206000170 8
17080 17456 5 209000320 8
17081 17457 5 220000080 8
17082 17458 5 290000160 8
17083 17459 5 291000020 8
17084 17460 5 297000100 8
17085 17461 5 297000130 8
17086 17462 5 297000140 8
17087 17463 5 298000110 8
17088 17464 5 202000290 8
17089 17465 5 203000240 8
17090 17466 5 204000210 8
17091 17467 5 205000150 8
17092 17468 5 206000200 8
17093 17469 5 211000090 8
17094 17470 5 212000060 8
17095 17471 5 299000800 8
17096 17472 5 299000810 8
17097 17473 5 299000820 8
17098 17474 5 299000840 8
17099 17475 5 299000850 8
17100 17476 5 299000860 8
17101 17477 5 299000870 8
17102 17478 5 299000880 8
17103 17479 5 299000890 8
17104 17480 5 201000120 8
17105 17481 5 202000240 8
17106 17482 5 211000080 8
17107 17483 5 299000730 8
17108 17484 5 299000740 8
17109 17485 5 299000750 8
17110 17486 5 299000760 8
17111 17487 5 299000770 8
17112 17488 5 201000130 8
17113 17489 5 299000830 8
17114 17490 5 202000280 8
17115 17491 5 204000220 8
17116 17492 5 201000150 8
17117 17493 5 202000350 8
17118 17494 5 205000200 8
17119 17495 5 299001050 8
17120 17496 5 299001060 8
17121 17497 5 201000200 8
17122 17498 5 202000430 8
17123 17499 5 211000150 8
17124 17500 5 299001170 8
17125 17501 5 299001180 8
17126 17502 5 202000270 8
17127 17503 5 206000190 8
17128 17504 5 220000060 8
17129 17505 5 201000140 8
17130 17506 5 203000230 8
17131 17507 5 205000160 8
17132 17508 5 204000230 8
17133 17509 5 209000200 8
17134 17510 5 299000900 8
17135 17511 5 202000340 8
17136 17512 5 203000280 8
17137 17513 5 205000190 8
17138 17514 5 208000040 8
17139 17515 5 211000110 8
17140 17516 5 220000070 8
17141 17517 5 202000420 8
17142 17518 5 203000340 8
17143 17519 5 204000360 8
17144 17520 5 211000140 8
17145 17521 5 212000090 8
17146 17522 5 299000920 8
17147 17523 5 299000930 8
17148 17524 5 299000940 8
17149 17525 5 299000950 8
17150 17526 5 299000960 8
17151 17527 5 298000130 8
17152 17528 5 202000380 8
17153 17529 5 203000300 8
17154 17530 5 204000320 8
17155 17531 5 205000230 8
17156 17532 5 206000250 8
17157 17533 5 209000280 8
17158 17534 5 210000030 8
17159 17535 5 211000120 8
17160 17536 5 212000070 8
17161 17537 5 215000130 8
17162 17538 5 216000130 8
17163 17539 5 217000080 8
17164 17540 5 218000090 8
17165 17541 5 299001070 8
17166 17542 5 299001080 8
17167 17543 5 299001090 8
17168 17544 5 215000120 8
17169 17545 5 202000390 8
17170 17546 5 203000310 8
17171 17547 5 204000330 8
17172 17548 5 205000240 8
17173 17549 5 206000260 8
17174 17550 5 209000290 8
17175 17551 5 210000040 8
17176 17552 5 211000130 8
17177 17553 5 212000080 8
17178 17554 5 215000140 8
17179 17555 5 216000140 8
17180 17556 5 217000090 8
17181 17557 5 218000100 8
17182 17558 5 220000090 8
17183 17559 5 299001100 8
17184 17560 5 299001110 8
17185 17561 5 299001120 8
17186 17562 5 299001130 8
17187 17563 5 299001140 8
17188 17564 5 299001150 8
17189 17565 5 299000430 8
17190 17566 5 299000690 8
17191 17567 5 299000710 8
17192 17568 5 299000720 8
17193 17569 5 215000100 8
17194 17570 5 216000090 8
17195 17571 5 217000070 8
17196 17572 5 218000080 8
17197 17573 5 299000970 8
17198 17574 5 299000980 8
17199 17575 5 299000990 8
17200 17576 5 299001000 8
17201 17577 5 299001010 8
17202 17578 5 299001020 8
17203 17579 5 299001030 8
17204 17580 5 299001040 8
17205 17581 3 101000006 2
17206 17582 3 103000005 2
17207 17583 4 101000003 2
17208 17584 4 102000005 2
17209 17585 4 107000005 2
17210 17586 4 112000006 2
17211 17587 5 101000009 2
17212 17588 5 101000011 2
17213 17589 5 101000012 2
17214 17590 5 101000013 2
17215 17591 5 101000014 2
17216 17592 5 101000015 2
17217 17593 5 101000016 2
17218 17594 5 101000017 2
17219 17595 5 101000018 2
17220 17596 5 102000008 2
17221 17597 5 102000009 2
17222 17598 5 107000007 2
17223 17599 5 109000008 2
17224 17600 5 111000007 2
17225 17601 5 111000008 2
17226 17602 5 112000008 2
17227 17603 5 120000008 2
17228 17605 2 118000010 1
17229 17606 3 118000020 1
17230 17607 3 118000030 1
17231 17608 3 118000040 1
17232 17609 4 118000050 1
17233 17610 4 118000060 1
17234 17611 5 118000070 1
17235 17612 1 101000000 2
17236 17613 3 101000006 2
17237 17614 3 103000005 2
17238 17615 4 101000003 2
17239 17616 4 102000005 2
17240 17617 4 107000005 2
17241 17618 4 112000006 2
17242 17619 5 101000009 2
17243 17620 5 101000011 2
17244 17621 5 101000012 2
17245 17622 5 101000013 2
17246 17623 5 101000014 2
17247 17624 5 101000015 2
17248 17625 5 101000016 2
17249 17626 5 101000017 2
17250 17627 5 101000018 2
17251 17628 5 102000008 2
17252 17629 5 102000009 2
17253 17630 5 107000007 2
17254 17631 5 109000008 2
17255 17632 5 111000007 2
17256 17633 5 111000008 2
17257 17634 5 112000008 2
17258 17635 5 120000008 2
17259 17636 3 110540 3
17260 17637 3 110680 3
17261 17638 3 110790 3
17262 17639 3 110800 3
17263 17640 3 120440 3
17264 17641 5 110055 3
17265 17642 5 110241 3
17266 17643 5 110251 3
17267 17644 5 110261 3
17268 17645 5 110271 3
17269 17646 5 110730 3
17270 17647 5 111020 3
17271 17648 5 111100 3
17272 17649 5 111160 3
17273 17650 5 120551 3
17274 17651 5 121160 3

View File

@ -8,5 +8,6 @@ class SaoData(Data):
def __init__(self, cfg: CoreConfig) -> None: def __init__(self, cfg: CoreConfig) -> None:
super().__init__(cfg) super().__init__(cfg)
self.item = SaoItemData(cfg, self.session)
self.profile = SaoProfileData(cfg, self.session) self.profile = SaoProfileData(cfg, self.session)
self.static = SaoStaticData(cfg, self.session) self.static = SaoStaticData(cfg, self.session)

File diff suppressed because it is too large Load Diff

View File

@ -101,17 +101,17 @@ class SaoServlet(resource.Resource):
request.responseHeaders.addRawHeader(b"content-type", b"text/html; charset=utf-8") request.responseHeaders.addRawHeader(b"content-type", b"text/html; charset=utf-8")
sao_request = request.content.getvalue().hex() sao_request = request.content.getvalue().hex()
#sao_request = sao_request[:32]
handler = getattr(self.base, f"handle_{sao_request[:4]}", None) handler = getattr(self.base, f"handle_{sao_request[:4]}", None)
if handler is None: if handler is None:
self.logger.info(f"Generic Handler for {req_url} - {sao_request[:4]}") self.logger.info(f"Generic Handler for {req_url} - {sao_request[:4]}")
#self.logger.debug(f"Request: {request.content.getvalue().hex()}") self.logger.debug(f"Request: {request.content.getvalue().hex()}")
resp = SaoNoopResponse(int.from_bytes(bytes.fromhex(sao_request[:4]), "big")+1) resp = SaoNoopResponse(int.from_bytes(bytes.fromhex(sao_request[:4]), "big")+1)
self.logger.debug(f"Response: {resp.make().hex()}") self.logger.debug(f"Response: {resp.make().hex()}")
return resp.make() return resp.make()
self.logger.info(f"Handler {req_url} - {sao_request[:4]} request") self.logger.info(f"Handler {req_url} - {sao_request[:4]} request")
self.logger.debug(f"Request: {request.content.getvalue().hex()}") self.logger.debug(f"Request: {request.content.getvalue().hex()}")
self.logger.debug(f"Response: {handler(sao_request).hex()}") resp = handler(sao_request)
return handler(sao_request) self.logger.debug(f"Response: {resp.hex()}")
return resp

View File

@ -228,3 +228,27 @@ class SaoReader(BaseReader):
continue continue
except: except:
self.logger.warn(f"Couldn't read csv file in {self.bin_dir}, skipping") self.logger.warn(f"Couldn't read csv file in {self.bin_dir}, skipping")
self.logger.info("Now reading RareDropTable.csv")
try:
fullPath = bin_dir + "/RareDropTable.csv"
with open(fullPath, encoding="UTF-8") as fp:
reader = csv.DictReader(fp)
for row in reader:
questRareDropId = row["QuestRareDropId"]
commonRewardId = row["CommonRewardId"]
enabled = True
self.logger.info(f"Added rare drop {questRareDropId} | Reward: {commonRewardId}")
try:
self.data.static.put_rare_drop(
0,
questRareDropId,
commonRewardId,
enabled
)
except Exception as err:
print(err)
except:
self.logger.warn(f"Couldn't read csv file in {self.bin_dir}, skipping")

View File

@ -1,6 +1,6 @@
from typing import Optional, Dict, List from typing import Optional, Dict, List
from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, case from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, case
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON
from sqlalchemy.schema import ForeignKey from sqlalchemy.schema import ForeignKey
from sqlalchemy.sql import func, select, update, delete from sqlalchemy.sql import func, select, update, delete
from sqlalchemy.engine import Row from sqlalchemy.engine import Row
@ -8,6 +8,41 @@ from sqlalchemy.dialects.mysql import insert
from core.data.schema import BaseData, metadata from core.data.schema import BaseData, metadata
equipment_data = Table(
"sao_equipment_data",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("equipment_id", Integer, nullable=False),
Column("enhancement_value", Integer, nullable=False),
Column("enhancement_exp", Integer, nullable=False),
Column("awakening_exp", Integer, nullable=False),
Column("awakening_stage", Integer, nullable=False),
Column("possible_awakening_flag", Integer, nullable=False),
Column("get_date", TIMESTAMP, nullable=False, server_default=func.now()),
UniqueConstraint("user", "equipment_id", name="sao_equipment_data_uk"),
mysql_charset="utf8mb4",
)
item_data = Table(
"sao_item_data",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("item_id", Integer, nullable=False),
Column("get_date", TIMESTAMP, nullable=False, server_default=func.now()),
UniqueConstraint("user", "item_id", name="sao_item_data_uk"),
mysql_charset="utf8mb4",
)
hero_log_data = Table( hero_log_data = Table(
"sao_hero_log_data", "sao_hero_log_data",
metadata, metadata,
@ -49,6 +84,26 @@ hero_party = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
quest = Table(
"sao_player_quest",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("episode_id", Integer, nullable=False),
Column("quest_clear_flag", Boolean, nullable=False),
Column("clear_time", Integer, nullable=False),
Column("combo_num", Integer, nullable=False),
Column("total_damage", Integer, nullable=False),
Column("concurrent_destroying_num", Integer, nullable=False),
Column("play_date", TIMESTAMP, nullable=False, server_default=func.now()),
UniqueConstraint("user", "episode_id", name="sao_player_quest_uk"),
mysql_charset="utf8mb4",
)
sessions = Table( sessions = Table(
"sao_play_sessions", "sao_play_sessions",
metadata, metadata,
@ -67,6 +122,22 @@ sessions = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
end_sessions = Table(
"sao_end_sessions",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column(
"user",
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
nullable=False,
),
Column("quest_id", Integer, nullable=False),
Column("play_result_flag", Boolean, nullable=False),
Column("reward_data", JSON, nullable=True),
Column("play_date", TIMESTAMP, nullable=False, server_default=func.now()),
mysql_charset="utf8mb4",
)
class SaoItemData(BaseData): class SaoItemData(BaseData):
def create_session(self, user_id: int, user_party_team_id: int, episode_id: int, play_mode: int, quest_drop_boost_apply_flag: int) -> Optional[int]: def create_session(self, user_id: int, user_party_team_id: int, episode_id: int, play_mode: int, quest_drop_boost_apply_flag: int) -> Optional[int]:
sql = insert(sessions).values( sql = insert(sessions).values(
@ -85,6 +156,69 @@ class SaoItemData(BaseData):
return None return None
return result.lastrowid return result.lastrowid
def create_end_session(self, user_id: int, quest_id: int, play_result_flag: bool, reward_data: JSON) -> Optional[int]:
sql = insert(end_sessions).values(
user=user_id,
quest_id=quest_id,
play_result_flag=play_result_flag,
reward_data=reward_data,
)
conflict = sql.on_duplicate_key_update(user=user_id)
result = self.execute(conflict)
if result is None:
self.logger.error(f"Failed to create SAO end session for user {user_id}!")
return None
return result.lastrowid
def put_item(self, user_id: int, item_id: int) -> Optional[int]:
sql = insert(item_data).values(
user=user_id,
item_id=item_id,
)
conflict = sql.on_duplicate_key_update(
item_id=item_id,
)
result = self.execute(conflict)
if result is None:
self.logger.error(
f"{__name__} failed to insert item! user: {user_id}, item_id: {item_id}"
)
return None
return result.lastrowid
def put_equipment_data(self, user_id: int, equipment_id: int, enhancement_value: int, enhancement_exp: int, awakening_exp: int, awakening_stage: int, possible_awakening_flag: int) -> Optional[int]:
sql = insert(equipment_data).values(
user=user_id,
equipment_id=equipment_id,
enhancement_value=enhancement_value,
enhancement_exp=enhancement_exp,
awakening_exp=awakening_exp,
awakening_stage=awakening_stage,
possible_awakening_flag=possible_awakening_flag,
)
conflict = sql.on_duplicate_key_update(
enhancement_value=enhancement_value,
enhancement_exp=enhancement_exp,
awakening_exp=awakening_exp,
awakening_stage=awakening_stage,
possible_awakening_flag=possible_awakening_flag,
)
result = self.execute(conflict)
if result is None:
self.logger.error(
f"{__name__} failed to insert equipment! user: {user_id}, equipment_id: {equipment_id}"
)
return None
return result.lastrowid
def put_hero_log(self, user_id: int, user_hero_log_id: int, log_level: int, log_exp: int, main_weapon: int, sub_equipment: int, skill_slot1_skill_id: int, skill_slot2_skill_id: int, skill_slot3_skill_id: int, skill_slot4_skill_id: int, skill_slot5_skill_id: int) -> Optional[int]: def put_hero_log(self, user_id: int, user_hero_log_id: int, log_level: int, log_exp: int, main_weapon: int, sub_equipment: int, skill_slot1_skill_id: int, skill_slot2_skill_id: int, skill_slot3_skill_id: int, skill_slot4_skill_id: int, skill_slot5_skill_id: int) -> Optional[int]:
sql = insert(hero_log_data).values( sql = insert(hero_log_data).values(
user=user_id, user=user_id,
@ -145,6 +279,76 @@ class SaoItemData(BaseData):
return result.lastrowid return result.lastrowid
def put_player_quest(self, user_id: int, episode_id: int, quest_clear_flag: bool, clear_time: int, combo_num: int, total_damage: int, concurrent_destroying_num: int) -> Optional[int]:
sql = insert(quest).values(
user=user_id,
episode_id=episode_id,
quest_clear_flag=quest_clear_flag,
clear_time=clear_time,
combo_num=combo_num,
total_damage=total_damage,
concurrent_destroying_num=concurrent_destroying_num
)
conflict = sql.on_duplicate_key_update(
quest_clear_flag=quest_clear_flag,
clear_time=clear_time,
combo_num=combo_num,
total_damage=total_damage,
concurrent_destroying_num=concurrent_destroying_num
)
result = self.execute(conflict)
if result is None:
self.logger.error(
f"{__name__} failed to insert quest! user: {user_id}, episode_id: {episode_id}"
)
return None
return result.lastrowid
def get_user_equipment(self, user_id: int, equipment_id: int) -> Optional[Dict]:
sql = equipment_data.select(equipment_data.c.user == user_id and equipment_data.c.equipment_id == equipment_id)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_user_equipments(
self, user_id: int
) -> Optional[List[Row]]:
"""
A catch-all equipments lookup given a profile
"""
sql = equipment_data.select(
and_(
equipment_data.c.user == user_id,
)
)
result = self.execute(sql)
if result is None:
return None
return result.fetchall()
def get_user_items(
self, user_id: int
) -> Optional[List[Row]]:
"""
A catch-all items lookup given a profile
"""
sql = item_data.select(
and_(
item_data.c.user == user_id,
)
)
result = self.execute(sql)
if result is None:
return None
return result.fetchall()
def get_hero_log( def get_hero_log(
self, user_id: int, user_hero_log_id: int = None self, user_id: int, user_hero_log_id: int = None
) -> Optional[List[Row]]: ) -> Optional[List[Row]]:
@ -167,7 +371,7 @@ class SaoItemData(BaseData):
self, user_id: int self, user_id: int
) -> Optional[List[Row]]: ) -> Optional[List[Row]]:
""" """
A catch-all hero lookup given a profile and user_party_team_id and ID specifiers A catch-all hero lookup given a profile
""" """
sql = hero_log_data.select( sql = hero_log_data.select(
and_( and_(
@ -195,6 +399,41 @@ class SaoItemData(BaseData):
return None return None
return result.fetchone() return result.fetchone()
def get_quest_log(
self, user_id: int, episode_id: int = None
) -> Optional[List[Row]]:
"""
A catch-all quest lookup given a profile and episode_id
"""
sql = quest.select(
and_(
quest.c.user == user_id,
quest.c.episode_id == episode_id if episode_id is not None else True,
)
)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_quest_logs(
self, user_id: int
) -> Optional[List[Row]]:
"""
A catch-all quest lookup given a profile
"""
sql = quest.select(
and_(
quest.c.user == user_id,
)
)
result = self.execute(sql)
if result is None:
return None
return result.fetchall()
def get_session( def get_session(
self, user_id: int = None self, user_id: int = None
) -> Optional[List[Row]]: ) -> Optional[List[Row]]:
@ -210,3 +449,58 @@ class SaoItemData(BaseData):
if result is None: if result is None:
return None return None
return result.fetchone() return result.fetchone()
def get_end_session(
self, user_id: int = None
) -> Optional[List[Row]]:
sql = end_sessions.select(
and_(
end_sessions.c.user == user_id,
)
).order_by(
end_sessions.c.play_date.asc()
)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def remove_hero_log(self, user_id: int, user_hero_log_id: int) -> None:
sql = hero_log_data.delete(
and_(
hero_log_data.c.user == user_id,
hero_log_data.c.user_hero_log_id == user_hero_log_id,
)
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"{__name__} failed to remove hero log! profile: {user_id}, user_hero_log_id: {user_hero_log_id}"
)
return None
def remove_equipment(self, user_id: int, equipment_id: int) -> None:
sql = equipment_data.delete(
and_(equipment_data.c.user == user_id, equipment_data.c.equipment_id == equipment_id)
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"{__name__} failed to remove equipment! profile: {user_id}, equipment_id: {equipment_id}"
)
return None
def remove_item(self, user_id: int, item_id: int) -> None:
sql = item_data.delete(
and_(item_data.c.user == user_id, item_data.c.item_id == item_id)
)
result = self.execute(sql)
if result is None:
self.logger.error(
f"{__name__} failed to remove item! profile: {user_id}, item_id: {item_id}"
)
return None

View File

@ -96,6 +96,20 @@ support = Table(
mysql_charset="utf8mb4", mysql_charset="utf8mb4",
) )
rare_drop = Table(
"sao_static_rare_drop_list",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("version", Integer),
Column("questRareDropId", Integer),
Column("commonRewardId", Integer),
Column("enabled", Boolean),
UniqueConstraint(
"version", "questRareDropId", "commonRewardId", name="sao_static_rare_drop_list_uk"
),
mysql_charset="utf8mb4",
)
title = Table( title = Table(
"sao_static_title_list", "sao_static_title_list",
metadata, metadata,
@ -216,6 +230,23 @@ class SaoStaticData(BaseData):
return None return None
return result.lastrowid return result.lastrowid
def put_rare_drop( self, version: int, questRareDropId: int, commonRewardId: int, enabled: bool ) -> Optional[int]:
sql = insert(rare_drop).values(
version=version,
questRareDropId=questRareDropId,
commonRewardId=commonRewardId,
enabled=enabled,
)
conflict = sql.on_duplicate_key_update(
questRareDropId=questRareDropId, commonRewardId=commonRewardId, version=version
)
result = self.execute(conflict)
if result is None:
return None
return result.lastrowid
def put_title( self, version: int, titleId: int, displayName: str, requirement: int, rank: int, imageFilePath: str, enabled: bool ) -> Optional[int]: def put_title( self, version: int, titleId: int, displayName: str, requirement: int, rank: int, imageFilePath: str, enabled: bool ) -> Optional[int]:
sql = insert(title).values( sql = insert(title).values(
version=version, version=version,
@ -236,6 +267,14 @@ class SaoStaticData(BaseData):
return None return None
return result.lastrowid return result.lastrowid
def get_quests_id(self, sortNo: int) -> Optional[Dict]:
sql = quest.select(quest.c.sortNo == sortNo)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_quests_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]: def get_quests_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]:
sql = quest.select(quest.c.version == version and quest.c.enabled == enabled).order_by( sql = quest.select(quest.c.version == version and quest.c.enabled == enabled).order_by(
quest.c.questSceneId.asc() quest.c.questSceneId.asc()
@ -246,6 +285,14 @@ class SaoStaticData(BaseData):
return None return None
return [list[2] for list in result.fetchall()] return [list[2] for list in result.fetchall()]
def get_hero_id(self, heroLogId: int) -> Optional[Dict]:
sql = hero.select(hero.c.heroLogId == heroLogId)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_hero_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]: def get_hero_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]:
sql = hero.select(hero.c.version == version and hero.c.enabled == enabled).order_by( sql = hero.select(hero.c.version == version and hero.c.enabled == enabled).order_by(
hero.c.heroLogId.asc() hero.c.heroLogId.asc()
@ -256,6 +303,14 @@ class SaoStaticData(BaseData):
return None return None
return [list[2] for list in result.fetchall()] return [list[2] for list in result.fetchall()]
def get_equipment_id(self, equipmentId: int) -> Optional[Dict]:
sql = equipment.select(equipment.c.equipmentId == equipmentId)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_equipment_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]: def get_equipment_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]:
sql = equipment.select(equipment.c.version == version and equipment.c.enabled == enabled).order_by( sql = equipment.select(equipment.c.version == version and equipment.c.enabled == enabled).order_by(
equipment.c.equipmentId.asc() equipment.c.equipmentId.asc()
@ -266,6 +321,22 @@ class SaoStaticData(BaseData):
return None return None
return [list[2] for list in result.fetchall()] return [list[2] for list in result.fetchall()]
def get_item_id(self, itemId: int) -> Optional[Dict]:
sql = item.select(item.c.itemId == itemId)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_rare_drop_id(self, questRareDropId: int) -> Optional[Dict]:
sql = rare_drop.select(rare_drop.c.questRareDropId == questRareDropId)
result = self.execute(sql)
if result is None:
return None
return result.fetchone()
def get_item_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]: def get_item_ids(self, version: int, enabled: bool) -> Optional[List[Dict]]:
sql = item.select(item.c.version == version and item.c.enabled == enabled).order_by( sql = item.select(item.c.version == version and item.c.enabled == enabled).order_by(
item.c.itemId.asc() item.c.itemId.asc()

View File

@ -1074,17 +1074,17 @@ class WaccaBase:
old_score = self.data.score.get_best_score( old_score = self.data.score.get_best_score(
user_id, item.itemId, item.quantity user_id, item.itemId, item.quantity
) )
if not old_score: if not old_score:
self.data.score.put_best_score( self.data.score.put_best_score(
user_id, user_id,
item.itemId, item.itemId,
item.quantity, item.quantity,
0, 0,
[0] * 5, [0] * 5,
[0] * 13, [0] * 13,
0, 0,
0, 0,
) )
if item.quantity == 0: if item.quantity == 0:
item.quantity = WaccaConstants.Difficulty.HARD.value item.quantity = WaccaConstants.Difficulty.HARD.value

View File

@ -8,12 +8,12 @@ from titles.wacca.handlers.helpers import Notice
class GetNewsResponseV1(BaseResponse): class GetNewsResponseV1(BaseResponse):
def __init__(self) -> None: def __init__(self) -> None:
super().__init__() super().__init__()
self.notices: list[Notice] = [] self.notices: List[Notice] = []
self.copywrightListings: list[str] = [] self.copywrightListings: List[str] = []
self.stoppedSongs: list[int] = [] self.stoppedSongs: List[int] = []
self.stoppedJackets: list[int] = [] self.stoppedJackets: List[int] = []
self.stoppedMovies: list[int] = [] self.stoppedMovies: List[int] = []
self.stoppedIcons: list[int] = [] self.stoppedIcons: List[int] = []
def make(self) -> Dict: def make(self) -> Dict:
note = [] note = []
@ -34,7 +34,7 @@ class GetNewsResponseV1(BaseResponse):
class GetNewsResponseV2(GetNewsResponseV1): class GetNewsResponseV2(GetNewsResponseV1):
stoppedProducts: list[int] = [] stoppedProducts: List[int] = []
def make(self) -> Dict: def make(self) -> Dict:
super().make() super().make()
@ -44,8 +44,8 @@ class GetNewsResponseV2(GetNewsResponseV1):
class GetNewsResponseV3(GetNewsResponseV2): class GetNewsResponseV3(GetNewsResponseV2):
stoppedNavs: list[int] = [] stoppedNavs: List[int] = []
stoppedNavVoices: list[int] = [] stoppedNavVoices: List[int] = []
def make(self) -> Dict: def make(self) -> Dict:
super().make() super().make()