diff --git a/.gitignore b/.gitignore index 4fd16fb..7faf07c 100644 --- a/.gitignore +++ b/.gitignore @@ -115,4 +115,6 @@ dist .yarn/install-state.gz .pnp.* -__pycache__ \ No newline at end of file +__pycache__ +.idea +temp/ diff --git a/Readme.md b/Readme.md index 8a11ee6..a30c8cf 100644 --- a/Readme.md +++ b/Readme.md @@ -154,22 +154,30 @@ if __name__ == "__main__": ### current build method from proto to javascript via python needs proto-compile, which can be installed with: -`pip3 install proto-compile` +```shell +pip3 install proto-compile +``` and build with: -`proto-compile --clear-output-dirs --verbosity=1 ./proto ./src/proto grpc-web --grpc_web_out_options="import_style=typescript,mode=grpcweb"` +```shell +proto-compile --clear-output-dirs --verbosity=1 ./proto ./src/proto grpc-web --grpc_web_out_options="import_style=typescript,mode=grpcweb" +``` building for python requires grpcio-tools, which can be installed with: -`pip3 install grpcio-tools` +```shell +pip3 install grpcio-tools +``` and build with: -`python3 -m grpc_tools.protoc -I. --python_out=./bfportal_grpc --grpc_python_out=./bfportal_grpc ./proto/communitygames.proto ./proto/localization.proto ./proto/authentication.proto ./proto/reporting.proto` +```shell +poetry run compile_proto +``` python package used: https://github.com/romnn/proto-compile ### Pushing your changes package versions can be made with `npm run build` and `npm version patch` `git push --tags origin main` to release. -for python patch with `npm run build:python`, `npm run python:setimports` and `poetry build`. +for python `poetry build`. example library used: https://github.com/tomchen/example-typescript-package diff --git a/bfportal_grpc/__init__.py b/bfportal_grpc/__init__.py index 2dc1a1d..95aae36 100644 --- a/bfportal_grpc/__init__.py +++ b/bfportal_grpc/__init__.py @@ -1 +1,25 @@ -from .proto import authentication_pb2_grpc, authentication_pb2, communitygames_pb2_grpc, communitygames_pb2, localization_pb2_grpc, localization_pb2, reporting_pb2_grpc, reporting_pb2 \ No newline at end of file +import sys +from pathlib import Path + + +def _add_proto_files_to_python_path(): + absolute_path = Path(__file__).parent.joinpath("proto").absolute() + if absolute_path not in sys.path: + sys.path.append(str(absolute_path)) + + +try: + _add_proto_files_to_python_path() + from .proto import ( + authentication_pb2_grpc, + authentication_pb2, + communitygames_pb2_grpc, + communitygames_pb2, + localization_pb2_grpc, + localization_pb2, + reporting_pb2_grpc, + reporting_pb2, + ) +except ImportError: + print("Please run `poetry run compile-proto` to compile the proto files.") + pass diff --git a/bfportal_grpc/access_token.py b/bfportal_grpc/access_token.py index d12004e..e63e6c5 100644 --- a/bfportal_grpc/access_token.py +++ b/bfportal_grpc/access_token.py @@ -2,25 +2,25 @@ import aiohttp import urllib.parse + class Cookie: sid: str remid: str - + def __init__(self, sid: str, remid: str): self.sid = sid self.remid = remid + async def getBf2042GatewaySession(cookie: Cookie) -> str: async with aiohttp.ClientSession() as session: url = "https://accounts.ea.com/connect/auth?client_id=KINGSTON_COMP_APP&locale=en_US&redirect_uri=https%3A%2F%2Fportal.battlefield.com%2F&response_type=code" - headers = { - "Cookie": f"sid={cookie.sid}; remid={cookie.remid};" - } + headers = {"Cookie": f"sid={cookie.sid}; remid={cookie.remid};"} async with session.get(url=url, headers=headers, allow_redirects=False) as r: redirect = r.headers["Location"] - access_code = urllib.parse.urlparse( - redirect).query.split("=")[1] + access_code = urllib.parse.urlparse(redirect).query.split("=")[1] return access_code + if __name__ == "__main__": - asyncio.run(getBf2042GatewaySession()) \ No newline at end of file + asyncio.run(getBf2042GatewaySession()) diff --git a/bfportal_grpc/helpers/__init__.py b/bfportal_grpc/helpers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/bfportal_grpc/helpers/compile.py b/bfportal_grpc/helpers/compile.py new file mode 100644 index 0000000..ef366ab --- /dev/null +++ b/bfportal_grpc/helpers/compile.py @@ -0,0 +1,42 @@ +import subprocess +from pathlib import Path +import os + +PROJECT_ROOT = Path(__file__).parent.parent.parent +OUT_DIR = PROJECT_ROOT / "bfportal_grpc" / "proto" +INPUT_PROTO_FILES_DIR = PROJECT_ROOT / "proto" + +PROTO_FILES = [ + proto_file.relative_to(PROJECT_ROOT) + for proto_file in list(INPUT_PROTO_FILES_DIR.glob("*.proto")) +] + +BASE_COMMAND = [ + "python", + "-m", + "grpc_tools.protoc", +] +COMMAND_ARGUMENTS = [ + f"-I={INPUT_PROTO_FILES_DIR.relative_to(PROJECT_ROOT)}", + f"--python_out=./{OUT_DIR.relative_to(PROJECT_ROOT)}", + f"--grpc_python_out=./{OUT_DIR.relative_to(PROJECT_ROOT)}", + f"--pyi_out=./{OUT_DIR.relative_to(PROJECT_ROOT)}", + *PROTO_FILES, +] +COMPILE_COMMAND = BASE_COMMAND + COMMAND_ARGUMENTS + + +def compile_proto(): + # print(subprocess.list2cmdline(COMPILE_COMMAND)) + os.chdir(PROJECT_ROOT) + command_output = subprocess.run( + COMPILE_COMMAND, + capture_output=True, + ) + if command_output.returncode != 0: + print(command_output.stdout.decode()) + print(command_output.stderr.decode()) + + +if __name__ == "__main__": + compile_proto() diff --git a/bfportal_grpc/proto/authentication_pb2.py b/bfportal_grpc/proto/authentication_pb2.py index 9b8342f..0f75db1 100644 --- a/bfportal_grpc/proto/authentication_pb2.py +++ b/bfportal_grpc/proto/authentication_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/authentication.proto +# source: authentication.proto """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,34 +13,33 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aproto/authentication.proto\x12\x12web.authentication\"F\n\nPlayerInfo\x12\x11\n\tnucleusId\x18\x01 \x01(\x03\x12\x11\n\tpersonaId\x18\x02 \x01(\x03\x12\x12\n\nplatformId\x18\x03 \x01(\x05\"\x8b\x01\n\x0b\x41uthRequest\x12\x10\n\x08\x61uthCode\x18\x01 \x01(\t\x12\x13\n\x0bredirectUri\x18\x02 \x01(\t\x12\x0f\n\x07product\x18\x03 \x01(\t\x12\x14\n\x0c\x66irstPartyId\x18\x04 \x01(\t\x12.\n\x08platform\x18\x05 \x01(\x0e\x32\x1c.web.authentication.Platform\"*\n\x08\x44uration\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x12\r\n\x05nanos\x18\x02 \x01(\x05\":\n\nTimeTravel\x12,\n\x06offset\x18\x01 \x01(\x0b\x32\x1c.web.authentication.Duration\"k\n\x17ProtocolVersionOverride\x12\x10\n\x08original\x18\x01 \x01(\t\x12\x12\n\noverridden\x18\x02 \x01(\t\x12*\n\x06reason\x18\x03 \x01(\x0e\x32\x1a.web.authentication.Reason\"\x07\n\x05\x45mpty\"\x83\x02\n\x0c\x41uthResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12.\n\x06player\x18\x03 \x01(\x0b\x32\x1e.web.authentication.PlayerInfo\x12.\n\x08userBits\x18\x04 \x03(\x0e\x32\x1c.web.authentication.UserBits\x12\x32\n\ntimeTravel\x18\x05 \x01(\x0b\x32\x1e.web.authentication.TimeTravel\x12L\n\x17protocolVersionOverride\x18\x06 \x01(\x0b\x32+.web.authentication.ProtocolVersionOverride*T\n\x08Platform\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02PC\x10\x01\x12\x07\n\x03PS4\x10\x02\x12\x0b\n\x07XBOXONE\x10\x03\x12\x07\n\x03PS5\x10\x04\x12\x08\n\x04XBSX\x10\x05\x12\n\n\x06\x43OMMON\x10\x06*(\n\x06Reason\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06PLAYER\x10\x01\x12\x08\n\x04SYNC\x10\x02*\xcc\x01\n\x08UserBits\x12\x18\n\x14USER_BIT_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_BIT_ACCEPTED_TOS\x10\x01\x12\x1f\n\x1bUSER_BIT_ENABLE_USERSHARING\x10\x02\x12 \n\x1cUSER_BIT_ENABLE_CRASHREPORTS\x10\x03\x12\x1f\n\x1bUSER_BIT_COMPLETED_TUTORIAL\x10\x04\x12\'\n#USER_BIT_CLIENT_ENABLE_USAGESHARING\x10\x05\x32\xa6\x01\n\x0e\x41uthentication\x12R\n\x0bviaAuthCode\x12\x1f.web.authentication.AuthRequest\x1a .web.authentication.AuthResponse\"\x00\x12@\n\x06logout\x12\x19.web.authentication.Empty\x1a\x19.web.authentication.Empty\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x61uthentication.proto\x12\x12web.authentication\"F\n\nPlayerInfo\x12\x11\n\tnucleusId\x18\x01 \x01(\x03\x12\x11\n\tpersonaId\x18\x02 \x01(\x03\x12\x12\n\nplatformId\x18\x03 \x01(\x05\"\x8b\x01\n\x0b\x41uthRequest\x12\x10\n\x08\x61uthCode\x18\x01 \x01(\t\x12\x13\n\x0bredirectUri\x18\x02 \x01(\t\x12\x0f\n\x07product\x18\x03 \x01(\t\x12\x14\n\x0c\x66irstPartyId\x18\x04 \x01(\t\x12.\n\x08platform\x18\x05 \x01(\x0e\x32\x1c.web.authentication.Platform\"*\n\x08\x44uration\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x12\r\n\x05nanos\x18\x02 \x01(\x05\":\n\nTimeTravel\x12,\n\x06offset\x18\x01 \x01(\x0b\x32\x1c.web.authentication.Duration\"k\n\x17ProtocolVersionOverride\x12\x10\n\x08original\x18\x01 \x01(\t\x12\x12\n\noverridden\x18\x02 \x01(\t\x12*\n\x06reason\x18\x03 \x01(\x0e\x32\x1a.web.authentication.Reason\"\x07\n\x05\x45mpty\"\x83\x02\n\x0c\x41uthResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12.\n\x06player\x18\x03 \x01(\x0b\x32\x1e.web.authentication.PlayerInfo\x12.\n\x08userBits\x18\x04 \x03(\x0e\x32\x1c.web.authentication.UserBits\x12\x32\n\ntimeTravel\x18\x05 \x01(\x0b\x32\x1e.web.authentication.TimeTravel\x12L\n\x17protocolVersionOverride\x18\x06 \x01(\x0b\x32+.web.authentication.ProtocolVersionOverride*T\n\x08Platform\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02PC\x10\x01\x12\x07\n\x03PS4\x10\x02\x12\x0b\n\x07XBOXONE\x10\x03\x12\x07\n\x03PS5\x10\x04\x12\x08\n\x04XBSX\x10\x05\x12\n\n\x06\x43OMMON\x10\x06*(\n\x06Reason\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06PLAYER\x10\x01\x12\x08\n\x04SYNC\x10\x02*\xcc\x01\n\x08UserBits\x12\x18\n\x14USER_BIT_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_BIT_ACCEPTED_TOS\x10\x01\x12\x1f\n\x1bUSER_BIT_ENABLE_USERSHARING\x10\x02\x12 \n\x1cUSER_BIT_ENABLE_CRASHREPORTS\x10\x03\x12\x1f\n\x1bUSER_BIT_COMPLETED_TUTORIAL\x10\x04\x12\'\n#USER_BIT_CLIENT_ENABLE_USAGESHARING\x10\x05\x32\xa6\x01\n\x0e\x41uthentication\x12R\n\x0bviaAuthCode\x12\x1f.web.authentication.AuthRequest\x1a .web.authentication.AuthResponse\"\x00\x12@\n\x06logout\x12\x19.web.authentication.Empty\x1a\x19.web.authentication.Empty\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.authentication_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authentication_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _globals['_PLATFORM']._serialized_start=748 - _globals['_PLATFORM']._serialized_end=832 - _globals['_REASON']._serialized_start=834 - _globals['_REASON']._serialized_end=874 - _globals['_USERBITS']._serialized_start=877 - _globals['_USERBITS']._serialized_end=1081 - _globals['_PLAYERINFO']._serialized_start=50 - _globals['_PLAYERINFO']._serialized_end=120 - _globals['_AUTHREQUEST']._serialized_start=123 - _globals['_AUTHREQUEST']._serialized_end=262 - _globals['_DURATION']._serialized_start=264 - _globals['_DURATION']._serialized_end=306 - _globals['_TIMETRAVEL']._serialized_start=308 - _globals['_TIMETRAVEL']._serialized_end=366 - _globals['_PROTOCOLVERSIONOVERRIDE']._serialized_start=368 - _globals['_PROTOCOLVERSIONOVERRIDE']._serialized_end=475 - _globals['_EMPTY']._serialized_start=477 - _globals['_EMPTY']._serialized_end=484 - _globals['_AUTHRESPONSE']._serialized_start=487 - _globals['_AUTHRESPONSE']._serialized_end=746 - _globals['_AUTHENTICATION']._serialized_start=1084 - _globals['_AUTHENTICATION']._serialized_end=1250 + _globals['_PLATFORM']._serialized_start=742 + _globals['_PLATFORM']._serialized_end=826 + _globals['_REASON']._serialized_start=828 + _globals['_REASON']._serialized_end=868 + _globals['_USERBITS']._serialized_start=871 + _globals['_USERBITS']._serialized_end=1075 + _globals['_PLAYERINFO']._serialized_start=44 + _globals['_PLAYERINFO']._serialized_end=114 + _globals['_AUTHREQUEST']._serialized_start=117 + _globals['_AUTHREQUEST']._serialized_end=256 + _globals['_DURATION']._serialized_start=258 + _globals['_DURATION']._serialized_end=300 + _globals['_TIMETRAVEL']._serialized_start=302 + _globals['_TIMETRAVEL']._serialized_end=360 + _globals['_PROTOCOLVERSIONOVERRIDE']._serialized_start=362 + _globals['_PROTOCOLVERSIONOVERRIDE']._serialized_end=469 + _globals['_EMPTY']._serialized_start=471 + _globals['_EMPTY']._serialized_end=478 + _globals['_AUTHRESPONSE']._serialized_start=481 + _globals['_AUTHRESPONSE']._serialized_end=740 + _globals['_AUTHENTICATION']._serialized_start=1078 + _globals['_AUTHENTICATION']._serialized_end=1244 # @@protoc_insertion_point(module_scope) diff --git a/bfportal_grpc/proto/authentication_pb2.pyi b/bfportal_grpc/proto/authentication_pb2.pyi new file mode 100644 index 0000000..c577571 --- /dev/null +++ b/bfportal_grpc/proto/authentication_pb2.pyi @@ -0,0 +1,114 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Platform(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN: _ClassVar[Platform] + PC: _ClassVar[Platform] + PS4: _ClassVar[Platform] + XBOXONE: _ClassVar[Platform] + PS5: _ClassVar[Platform] + XBSX: _ClassVar[Platform] + COMMON: _ClassVar[Platform] + +class Reason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + NONE: _ClassVar[Reason] + PLAYER: _ClassVar[Reason] + SYNC: _ClassVar[Reason] + +class UserBits(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + USER_BIT_UNSPECIFIED: _ClassVar[UserBits] + USER_BIT_ACCEPTED_TOS: _ClassVar[UserBits] + USER_BIT_ENABLE_USERSHARING: _ClassVar[UserBits] + USER_BIT_ENABLE_CRASHREPORTS: _ClassVar[UserBits] + USER_BIT_COMPLETED_TUTORIAL: _ClassVar[UserBits] + USER_BIT_CLIENT_ENABLE_USAGESHARING: _ClassVar[UserBits] +UNKNOWN: Platform +PC: Platform +PS4: Platform +XBOXONE: Platform +PS5: Platform +XBSX: Platform +COMMON: Platform +NONE: Reason +PLAYER: Reason +SYNC: Reason +USER_BIT_UNSPECIFIED: UserBits +USER_BIT_ACCEPTED_TOS: UserBits +USER_BIT_ENABLE_USERSHARING: UserBits +USER_BIT_ENABLE_CRASHREPORTS: UserBits +USER_BIT_COMPLETED_TUTORIAL: UserBits +USER_BIT_CLIENT_ENABLE_USAGESHARING: UserBits + +class PlayerInfo(_message.Message): + __slots__ = ["nucleusId", "personaId", "platformId"] + NUCLEUSID_FIELD_NUMBER: _ClassVar[int] + PERSONAID_FIELD_NUMBER: _ClassVar[int] + PLATFORMID_FIELD_NUMBER: _ClassVar[int] + nucleusId: int + personaId: int + platformId: int + def __init__(self, nucleusId: _Optional[int] = ..., personaId: _Optional[int] = ..., platformId: _Optional[int] = ...) -> None: ... + +class AuthRequest(_message.Message): + __slots__ = ["authCode", "redirectUri", "product", "firstPartyId", "platform"] + AUTHCODE_FIELD_NUMBER: _ClassVar[int] + REDIRECTURI_FIELD_NUMBER: _ClassVar[int] + PRODUCT_FIELD_NUMBER: _ClassVar[int] + FIRSTPARTYID_FIELD_NUMBER: _ClassVar[int] + PLATFORM_FIELD_NUMBER: _ClassVar[int] + authCode: str + redirectUri: str + product: str + firstPartyId: str + platform: Platform + def __init__(self, authCode: _Optional[str] = ..., redirectUri: _Optional[str] = ..., product: _Optional[str] = ..., firstPartyId: _Optional[str] = ..., platform: _Optional[_Union[Platform, str]] = ...) -> None: ... + +class Duration(_message.Message): + __slots__ = ["seconds", "nanos"] + SECONDS_FIELD_NUMBER: _ClassVar[int] + NANOS_FIELD_NUMBER: _ClassVar[int] + seconds: int + nanos: int + def __init__(self, seconds: _Optional[int] = ..., nanos: _Optional[int] = ...) -> None: ... + +class TimeTravel(_message.Message): + __slots__ = ["offset"] + OFFSET_FIELD_NUMBER: _ClassVar[int] + offset: Duration + def __init__(self, offset: _Optional[_Union[Duration, _Mapping]] = ...) -> None: ... + +class ProtocolVersionOverride(_message.Message): + __slots__ = ["original", "overridden", "reason"] + ORIGINAL_FIELD_NUMBER: _ClassVar[int] + OVERRIDDEN_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + original: str + overridden: str + reason: Reason + def __init__(self, original: _Optional[str] = ..., overridden: _Optional[str] = ..., reason: _Optional[_Union[Reason, str]] = ...) -> None: ... + +class Empty(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class AuthResponse(_message.Message): + __slots__ = ["sessionId", "player", "userBits", "timeTravel", "protocolVersionOverride"] + SESSIONID_FIELD_NUMBER: _ClassVar[int] + PLAYER_FIELD_NUMBER: _ClassVar[int] + USERBITS_FIELD_NUMBER: _ClassVar[int] + TIMETRAVEL_FIELD_NUMBER: _ClassVar[int] + PROTOCOLVERSIONOVERRIDE_FIELD_NUMBER: _ClassVar[int] + sessionId: str + player: PlayerInfo + userBits: _containers.RepeatedScalarFieldContainer[UserBits] + timeTravel: TimeTravel + protocolVersionOverride: ProtocolVersionOverride + def __init__(self, sessionId: _Optional[str] = ..., player: _Optional[_Union[PlayerInfo, _Mapping]] = ..., userBits: _Optional[_Iterable[_Union[UserBits, str]]] = ..., timeTravel: _Optional[_Union[TimeTravel, _Mapping]] = ..., protocolVersionOverride: _Optional[_Union[ProtocolVersionOverride, _Mapping]] = ...) -> None: ... diff --git a/bfportal_grpc/proto/authentication_pb2_grpc.py b/bfportal_grpc/proto/authentication_pb2_grpc.py index af6adff..736915e 100644 --- a/bfportal_grpc/proto/authentication_pb2_grpc.py +++ b/bfportal_grpc/proto/authentication_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import authentication_pb2 as proto_dot_authentication__pb2 +import authentication_pb2 as authentication__pb2 class AuthenticationStub(object): @@ -16,13 +16,13 @@ def __init__(self, channel): """ self.viaAuthCode = channel.unary_unary( '/web.authentication.Authentication/viaAuthCode', - request_serializer=proto_dot_authentication__pb2.AuthRequest.SerializeToString, - response_deserializer=proto_dot_authentication__pb2.AuthResponse.FromString, + request_serializer=authentication__pb2.AuthRequest.SerializeToString, + response_deserializer=authentication__pb2.AuthResponse.FromString, ) self.logout = channel.unary_unary( '/web.authentication.Authentication/logout', - request_serializer=proto_dot_authentication__pb2.Empty.SerializeToString, - response_deserializer=proto_dot_authentication__pb2.Empty.FromString, + request_serializer=authentication__pb2.Empty.SerializeToString, + response_deserializer=authentication__pb2.Empty.FromString, ) @@ -46,13 +46,13 @@ def add_AuthenticationServicer_to_server(servicer, server): rpc_method_handlers = { 'viaAuthCode': grpc.unary_unary_rpc_method_handler( servicer.viaAuthCode, - request_deserializer=proto_dot_authentication__pb2.AuthRequest.FromString, - response_serializer=proto_dot_authentication__pb2.AuthResponse.SerializeToString, + request_deserializer=authentication__pb2.AuthRequest.FromString, + response_serializer=authentication__pb2.AuthResponse.SerializeToString, ), 'logout': grpc.unary_unary_rpc_method_handler( servicer.logout, - request_deserializer=proto_dot_authentication__pb2.Empty.FromString, - response_serializer=proto_dot_authentication__pb2.Empty.SerializeToString, + request_deserializer=authentication__pb2.Empty.FromString, + response_serializer=authentication__pb2.Empty.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -76,8 +76,8 @@ def viaAuthCode(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.authentication.Authentication/viaAuthCode', - proto_dot_authentication__pb2.AuthRequest.SerializeToString, - proto_dot_authentication__pb2.AuthResponse.FromString, + authentication__pb2.AuthRequest.SerializeToString, + authentication__pb2.AuthResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -93,7 +93,7 @@ def logout(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.authentication.Authentication/logout', - proto_dot_authentication__pb2.Empty.SerializeToString, - proto_dot_authentication__pb2.Empty.FromString, + authentication__pb2.Empty.SerializeToString, + authentication__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/bfportal_grpc/proto/communitygames_pb2.py b/bfportal_grpc/proto/communitygames_pb2.py index 3575d89..449d317 100644 --- a/bfportal_grpc/proto/communitygames_pb2.py +++ b/bfportal_grpc/proto/communitygames_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/communitygames.proto +# source: communitygames.proto """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,13 +13,12 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aproto/communitygames.proto\x12\x12web.communitygames\"_\n\x10ProgressionEntry\x12\x17\n\x0fprogressionMode\x18\x01 \x01(\t\x12\x32\n\rprogressibles\x18\x02 \x03(\x0b\x32\x1b.web.communitygames.Mutator\":\n\x13TranslationMetadata\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x15\n\rtranslationId\x18\x02 \x01(\t\",\n\x10ResourceLocation\x12\x0b\n\x03ref\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"P\n\x08Resource\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.web.communitygames.ResourceLocation\x12\x0c\n\x04kind\x18\x02 \x01(\t\"z\n\x08Metadata\x12=\n\x0ctranslations\x18\x01 \x03(\x0b\x32\'.web.communitygames.TranslationMetadata\x12/\n\tresources\x18\x02 \x03(\x0b\x32\x1c.web.communitygames.Resource\"T\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tsortOrder\x18\x02 \x01(\x05\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.web.communitygames.Metadata\" \n\x0fProgressionMode\x12\r\n\x05value\x18\x01 \x01(\t\"\xf1\x01\n\x12PlaygroundResponse\x12:\n\x12originalPlayground\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.Playground\x12;\n\x13validatedPlayground\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Playground\x12$\n\x03tag\x18\x03 \x03(\x0b\x32\x17.web.communitygames.Tag\x12<\n\x0fprogressionMode\x18\x04 \x01(\x0b\x32#.web.communitygames.ProgressionMode\"\xd0\x01\n\x07MapInfo\x12\x0f\n\x07mapname\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\t\x12\x10\n\x08gameSize\x18\x03 \x01(\r\x12\x0e\n\x06rounds\x18\x04 \x01(\r\x12-\n\x08mutators\x18\x05 \x01(\x0b\x32\x1b.web.communitygames.Mutator\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x14\n\x0cpreRoundSize\x18\x07 \x01(\r\x12\x12\n\nwarmUpSize\x18\x08 \x01(\r\x12\x19\n\x11\x61llowedSpectators\x18\t \x01(\r\"\xb2\x01\n\x0bMapRotation\x12)\n\x04maps\x18\x01 \x03(\x0b\x32\x1b.web.communitygames.MapInfo\x12>\n\x10rotationBehavior\x18\x02 \x01(\x0e\x32$.web.communitygames.RotationBehavior\x12\x38\n\rroundBehavior\x18\x03 \x01(\x0e\x32!.web.communitygames.RoundBehavior\"1\n\rTeamStructure\x12\x0e\n\x06teamId\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x05\"q\n\x15InternalTeamStructure\x12\x0e\n\x06teamId\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x05\x12\x36\n\x0c\x63\x61pacityType\x18\x03 \x01(\x0e\x32 .web.communitygames.CapacityType\"7\n\x17MutatorSparseFloatEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"{\n\x12MutatorSparseFloat\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x02\x12\x0c\n\x04size\x18\x02 \x01(\r\x12\x41\n\x0csparseValues\x18\x03 \x03(\x0b\x32+.web.communitygames.MutatorSparseFloatEntry\"\x1d\n\x0cMutatorFloat\x12\r\n\x05value\x18\x01 \x01(\x02\"#\n\x0eMutatorBoolean\x12\x11\n\tboolValue\x18\x01 \x01(\x08\"$\n\rMutatorString\x12\x13\n\x0bstringValue\x18\x01 \x01(\t\"\x1b\n\nMutatorInt\x12\r\n\x05value\x18\x01 \x01(\x05\"9\n\x19MutatorSparseBooleanEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x08\"\x7f\n\x14MutatorSparseBoolean\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x08\x12\x0c\n\x04size\x18\x02 \x01(\r\x12\x43\n\x0csparseValues\x18\x03 \x03(\x0b\x32-.web.communitygames.MutatorSparseBooleanEntry\"!\n\x0fSparseIntEntity\x12\x0e\n\x06values\x18\x01 \x03(\x05\"5\n\x15MutatorSparseIntEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x05\"w\n\x10MutatorSparseInt\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\r\x12?\n\x0csparseValues\x18\x03 \x01(\x0b\x32).web.communitygames.MutatorSparseIntEntry\"\xbb\x03\n\x0bMutatorKind\x12:\n\x0emutatorBoolean\x18\x01 \x01(\x0b\x32\".web.communitygames.MutatorBoolean\x12\x38\n\rmutatorString\x18\x04 \x01(\x0b\x32!.web.communitygames.MutatorString\x12\x36\n\x0cmutatorFloat\x18\x05 \x01(\x0b\x32 .web.communitygames.MutatorFloat\x12\x32\n\nmutatorInt\x18\x06 \x01(\x0b\x32\x1e.web.communitygames.MutatorInt\x12\x46\n\x14mutatorSparseBoolean\x18\x07 \x01(\x0b\x32(.web.communitygames.MutatorSparseBoolean\x12>\n\x10mutatorSparseInt\x18\x08 \x01(\x0b\x32$.web.communitygames.MutatorSparseInt\x12\x42\n\x12mutatorSparseFloat\x18\t \x01(\x0b\x32&.web.communitygames.MutatorSparseFloat\"\xc3\x01\n\x0fTeamComposition\x12\x30\n\x05teams\x18\x01 \x01(\x0b\x32!.web.communitygames.TeamStructure\x12@\n\rinternalTeams\x18\x02 \x03(\x0b\x32).web.communitygames.InternalTeamStructure\x12<\n\x0f\x62\x61lancingMethod\x18\x03 \x01(\x0e\x32#.web.communitygames.BalancingMethod\"d\n\x07Mutator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12-\n\x04kind\x18\x03 \x01(\x0b\x32\x1f.web.communitygames.MutatorKind\x12\n\n\x02id\x18\x04 \x01(\t\"/\n\tTimestamp\x12\x13\n\x07seconds\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\r\n\x05nanos\x18\x02 \x01(\x05\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"/\n\x11GameServerMessage\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\"\xcb\x02\n\x12GameServerSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12@\n\x11gameServerMessage\x18\x03 \x03(\x0b\x32%.web.communitygames.GameServerMessage\x12\x33\n\nconfigName\x18\x04 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12:\n\x11\x43onfigDescription\x18\x05 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12>\n\x10phantomGameState\x18\x06 \x01(\x0e\x32$.web.communitygames.PhantomGameState\"l\n\nPlayerInfo\x12\x15\n\tnucleusId\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x15\n\tpersonaId\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x30\n\nplatformId\x18\x03 \x01(\x0e\x32\x1c.web.communitygames.Platform\"G\n\x14PlatformRestrictions\x12/\n\tplatforms\x18\x01 \x03(\x0e\x32\x1c.web.communitygames.Platform\"P\n\x16InputMethodResrictions\x12\x36\n\x0cinputMethods\x18\x01 \x03(\x0e\x32 .web.communitygames.InputMethods\"\xa4\x01\n\x0cRestrictions\x12\x46\n\x14platformRestrictions\x18\x01 \x01(\x0b\x32(.web.communitygames.PlatformRestrictions\x12L\n\x18inputMethodResctrictions\x18\x02 \x01(\x0b\x32*.web.communitygames.InputMethodResrictions\"R\n\nCompressed\x12\x18\n\x10\x63ompiledModRules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\x12\x14\n\x0cinflatedSize\x18\x03 \x01(\x05\">\n\x0cUncompressed\x12\x18\n\x10\x63ompiledModRules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\"{\n\rCompiledRules\x12\x36\n\x0cuncompressed\x18\x01 \x01(\x0b\x32 .web.communitygames.Uncompressed\x12\x32\n\ncompressed\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Compressed\"n\n\x12\x43ompatibleModRules\x12\r\n\x05rules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x03 \x01(\x05\x12\x33\n\x08\x63ompiled\x18\x04 \x01(\x0b\x32!.web.communitygames.CompiledRules\"Z\n\x14InCompatibleModRules\x12\r\n\x05rules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\x12\x1d\n\x15\x62lueprintRulesVersion\x18\x03 \x01(\x05\"\x98\x01\n\x10OriginalModRules\x12?\n\x0f\x63ompatibleRules\x18\x01 \x01(\x0b\x32&.web.communitygames.CompatibleModRules\x12\x43\n\x11incompatibleRules\x18\x02 \x01(\x0b\x32(.web.communitygames.InCompatibleModRules\"K\n\x1f\x41ssetCategoryTagBooleanOverride\x12\x19\n\x11\x61ssetCategoryTags\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x08\"_\n#AssetCategoryTagBooleanTeamOverride\x12\x19\n\x11\x61ssetCategoryTags\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x08\x12\x0e\n\x06teamId\x18\x03 \x01(\r\"\xc4\x01\n\x14\x41ssetCategoryBoolean\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x08\x12\x46\n\toverrides\x18\x02 \x01(\x0b\x32\x33.web.communitygames.AssetCategoryTagBooleanOverride\x12N\n\rteamOverrides\x18\x03 \x03(\x0b\x32\x37.web.communitygames.AssetCategoryTagBooleanTeamOverride\"Y\n\rAssetCategory\x12\r\n\x05tagId\x18\x01 \x01(\t\x12\x39\n\x07\x62oolean\x18\x02 \x01(\x0b\x32(.web.communitygames.AssetCategoryBoolean\"\xca\x05\n\nPlayground\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\x12\x15\n\rblueprintType\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12-\n\x08mutators\x18\x06 \x03(\x0b\x32\x1b.web.communitygames.Mutator\x12\x34\n\x0bmapRotation\x18\x07 \x01(\x0b\x32\x1f.web.communitygames.MapRotation\x12(\n\x05state\x18\x08 \x01(\x0e\x32\x19.web.communitygames.State\x12\x10\n\x08\x63hecksum\x18\t \x01(\t\x12\x0e\n\x06secret\x18\n \x01(\t\x12\x30\n\tcreatedAt\x18\x0b \x01(\x0b\x32\x1d.web.communitygames.Timestamp\x12\x30\n\tupdatedAt\x18\x0c \x01(\x0b\x32\x1d.web.communitygames.Timestamp\x12>\n\x0eserverSettings\x18\r \x01(\x0b\x32&.web.communitygames.GameServerSettings\x12-\n\x05owner\x18\x0e \x01(\x0b\x32\x1e.web.communitygames.PlayerInfo\x12\x36\n\x0crestrictions\x18\x0f \x01(\x0b\x32 .web.communitygames.Restrictions\x12\x36\n\x08modRules\x18\x10 \x01(\x0b\x32$.web.communitygames.OriginalModRules\x12:\n\x0f\x61ssetCategories\x18\x11 \x03(\x0b\x32!.web.communitygames.AssetCategory\x12<\n\x0fteamComposition\x18\x12 \x01(\x0b\x32#.web.communitygames.TeamComposition\"6\n\x1dListPlaygroundsByOwnerRequest\x12\x15\n\rblueprintType\x18\x01 \x01(\t\"\x17\n\x15GetConstraintsRequest\"j\n\x18GetBlueprintsByIdRequest\x12\x14\n\x0c\x62lueprintIds\x18\x01 \x03(\t\x12\x38\n\rincludeFields\x18\x02 \x03(\x0e\x32!.web.communitygames.IncludeFields\"w\n\x11GlobalConstraints\x12\x1f\n\x17maxPlaygroundsPerPlayer\x18\x01 \x01(\x05\x12\x1f\n\x17maxGameServersPerPlayer\x18\x02 \x01(\x05\x12 \n\x18maxFollowedHostsListSize\x18\x03 \x01(\x05\".\n\x08IntRange\x12\x10\n\x08minValue\x18\x01 \x01(\x05\x12\x10\n\x08maxValue\x18\x02 \x01(\x05\"|\n\x12\x41vailableIntValues\x12+\n\x05range\x18\x01 \x01(\x0b\x32\x1c.web.communitygames.IntRange\x12\x39\n\x0csparseValues\x18\x02 \x01(\x0b\x32#.web.communitygames.SparseIntEntity\"j\n\x11\x41vailableIntValue\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x05\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"#\n\x11SparseFloatValues\x12\x0e\n\x06values\x18\x01 \x03(\x02\"0\n\nFloatRange\x12\x10\n\x08minValue\x18\x01 \x01(\x02\x12\x10\n\x08maxValue\x18\x02 \x01(\x02\"\x82\x01\n\x14\x41vailableFloatValues\x12-\n\x05range\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.FloatRange\x12;\n\x0csparseValues\x18\x02 \x01(\x0b\x32%.web.communitygames.SparseFloatValues\"\x93\x01\n\x1b\x41vailableMutatorFloatValues\x12\x31\n\x07mutator\x18\x01 \x01(\x0b\x32 .web.communitygames.MutatorFloat\x12\x41\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32(.web.communitygames.AvailableFloatValues\"\x8d\x01\n\x19\x41vailableMutatorIntValues\x12/\n\x07mutator\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.MutatorInt\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"\x99\x01\n\x1f\x41vailableMutatorSparseIntValues\x12\x35\n\x07mutator\x18\x01 \x01(\x0b\x32$.web.communitygames.MutatorSparseInt\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"\x9f\x01\n!AvailableMutatorSparseFloatValues\x12\x37\n\x07mutator\x18\x01 \x01(\x0b\x32&.web.communitygames.MutatorSparseFloat\x12\x41\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32(.web.communitygames.AvailableFloatValues\"\x98\x04\n\x14\x41vailableMutatorKind\x12:\n\x0emutatorBoolean\x18\x01 \x01(\x0b\x32\".web.communitygames.MutatorBoolean\x12\x38\n\rmutatorString\x18\x04 \x01(\x0b\x32!.web.communitygames.MutatorString\x12K\n\x12mutatorFloatValues\x18\x07 \x01(\x0b\x32/.web.communitygames.AvailableMutatorFloatValues\x12G\n\x10mutatorIntValues\x18\x08 \x01(\x0b\x32-.web.communitygames.AvailableMutatorIntValues\x12\x46\n\x14mutatorSparseBoolean\x18\t \x01(\x0b\x32(.web.communitygames.MutatorSparseBoolean\x12S\n\x16mutatorSparseIntValues\x18\n \x01(\x0b\x32\x33.web.communitygames.AvailableMutatorSparseIntValues\x12W\n\x18mutatorSparseFloatValues\x18\x0b \x01(\x0b\x32\x35.web.communitygames.AvailableMutatorSparseFloatValues\"\xa6\x01\n\x10\x41vailableMutator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x36\n\x04kind\x18\x03 \x01(\x0b\x32(.web.communitygames.AvailableMutatorKind\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12\n\n\x02id\x18\x05 \x01(\t\"\xe1\x03\n\x11\x41vailableMapEntry\x12\x11\n\tlevelName\x18\x01 \x01(\t\x12\x10\n\x08gameMode\x18\x02 \x01(\t\x12\x15\n\rlevelLocation\x18\x03 \x01(\t\x12\x37\n\x08gameSize\x18\x04 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x35\n\x06rounds\x18\x05 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12;\n\x0cpreRoundSize\x18\x06 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x39\n\nwarmUpSize\x18\x07 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12@\n\x11\x61llowedSpectators\x18\x08 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x36\n\x08mutators\x18\t \x03(\x0b\x32$.web.communitygames.AvailableMutator\x12.\n\x08metadata\x18\n \x03(\x0b\x32\x1c.web.communitygames.Metadata\"z\n\x0c\x41vailableTag\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12.\n\x08\x63\x61tegory\x18\x03 \x01(\x0e\x32\x1c.web.communitygames.Category\"~\n\x19\x41vailableAssetCategoryTag\x12\r\n\x05tagId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0c\x63hildrenTags\x18\x03 \x03(\t\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\"\x98\x01\n\x18\x41vailableAssetCategories\x12?\n\x08rootTags\x18\x01 \x03(\x0b\x32-.web.communitygames.AvailableAssetCategoryTag\x12;\n\x04tags\x18\x02 \x03(\x0b\x32-.web.communitygames.AvailableAssetCategoryTag\"\xcc\x01\n\x15PlaygroundConstraints\x12\x13\n\x0bmaxNameSize\x18\x01 \x01(\x05\x12\x1a\n\x12maxDescriptionSize\x18\x02 \x01(\x05\x12\x15\n\rmaxSecretSize\x18\x03 \x01(\x05\x12\x19\n\x11maxMapsInRotation\x18\x04 \x01(\x05\x12\x13\n\x0bmaxMutators\x18\x05 \x01(\x05\x12\x19\n\x11maxConfigNameSize\x18\x06 \x01(\x05\x12 \n\x18maxConfigDescriptionSize\x18\x07 \x01(\x05\">\n\x12ModRulesDefinition\x12\x14\n\x0crulesVersion\x18\x01 \x01(\x05\x12\x12\n\nmodBuilder\x18\x02 \x01(\x0c\"\x81\x02\n\x11\x41vailableGameData\x12\x36\n\x08mutators\x18\x01 \x03(\x0b\x32$.web.communitygames.AvailableMutator\x12\x33\n\x04maps\x18\x02 \x03(\x0b\x32%.web.communitygames.AvailableMapEntry\x12\x38\n\x08modRules\x18\x04 \x01(\x0b\x32&.web.communitygames.ModRulesDefinition\x12\x45\n\x0f\x61ssetCategories\x18\x05 \x01(\x0b\x32,.web.communitygames.AvailableAssetCategories\"\xb9\x02\n\tBlueprint\x12\x15\n\rblueprintType\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12@\n\x11\x61vailableGameData\x18\x03 \x01(\x0b\x32%.web.communitygames.AvailableGameData\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12\x12\n\ncustomData\x18\x05 \x01(\x0c\x12H\n\x15playgroundConstraints\x18\x06 \x01(\x0b\x32).web.communitygames.PlaygroundConstraints\x12\x37\n\ravailableTags\x18\x07 \x03(\x0b\x32 .web.communitygames.AvailableTag\"\x19\n\tShortCode\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\"\x1c\n\x1aGetProgressionTypesRequest\";\n\rBlueprintInfo\x12\x15\n\rblueprintType\x18\x01 \x01(\t\x12\x13\n\x0b\x62lueprintId\x18\x02 \x01(\t\"T\n\x1bGetProgressionTypesResponse\x12\x35\n\x07\x65ntries\x18\x01 \x03(\x0b\x32$.web.communitygames.ProgressionEntry\"\x1f\n\x1dGetScheduledBlueprintsRequest\"W\n\x1eGetScheduledBlueprintsResponse\x12\x35\n\nblueprints\x18\x01 \x01(\x0b\x32!.web.communitygames.BlueprintInfo\"M\n\x19GetBlueprintsByIdResponse\x12\x30\n\tblueprint\x18\x01 \x03(\x0b\x32\x1d.web.communitygames.Blueprint\"Z\n\x16GetConstraintsResponse\x12@\n\x11globalConstraints\x18\x01 \x01(\x0b\x32%.web.communitygames.GlobalConstraints\"e\n\x1eListPlaygroundsByOwnerResponse\x12\x43\n\x13playgroundResponses\x18\x02 \x03(\x0b\x32&.web.communitygames.PlaygroundResponse\"\x96\x04\n\x17\x43reatePlaygroundRequest\x12\x15\n\rblueprintType\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x34\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12-\n\x08mutators\x18\x05 \x03(\x0b\x32\x1b.web.communitygames.Mutator\x12\x34\n\x0bmapRotation\x18\x06 \x01(\x0b\x32\x1f.web.communitygames.MapRotation\x12/\n\x06secret\x18\x07 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12>\n\x0eserverSettings\x18\x08 \x01(\x0b\x32&.web.communitygames.GameServerSettings\x12\x36\n\x0crestrictions\x18\t \x01(\x0b\x32 .web.communitygames.Restrictions\x12\x18\n\x10originalModRules\x18\n \x01(\x0c\x12:\n\x0f\x61ssetCategories\x18\x0b \x03(\x0b\x32!.web.communitygames.AssetCategory\x12<\n\x0fteamComposition\x18\x0c \x01(\x0b\x32#.web.communitygames.TeamComposition\"P\n\x17UpdatePlaygroundRequest\x12\x35\n\rnewPlayground\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Playground\"/\n\x17\x44\x65letePlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\",\n\x14GetPlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x02 \x01(\t\".\n\x16SharePlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\"K\n\x17SharePlaygroundResponse\x12\x30\n\tshortCode\x18\x01 \x01(\x0b\x32\x1d.web.communitygames.ShortCode\"^\n\x18\x43reatePlaygroundResponse\x12\x42\n\x12playgroundResponse\x18\x02 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse\"^\n\x18UpdatePlaygroundResponse\x12\x42\n\x12playgroundResponse\x18\x02 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse\"\x1a\n\x18\x44\x65letePlaygroundResponse\"T\n\x16PlaygroundInfoResponse\x12:\n\nplayground\x18\x01 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse*T\n\x08Platform\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02PC\x10\x01\x12\x07\n\x03PS4\x10\x02\x12\x0b\n\x07XBOXONE\x10\x03\x12\x07\n\x03PS5\x10\x04\x12\x08\n\x04XBSX\x10\x05\x12\n\n\x06\x43OMMON\x10\x06*@\n\x0cInputMethods\x12\x07\n\x03\x41LL\x10\x00\x12\x12\n\x0eKEYBOARD_MOUSE\x10\x01\x12\x13\n\x0fGAME_CONTROLLER\x10\x03*l\n\rIncludeFields\x12\x17\n\x13\x41VAILABLE_GAME_DATA\x10\x00\x12\x0c\n\x08METADATA\x10\x01\x12\x0f\n\x0b\x43USTOM_DATA\x10\x02\x12\x0f\n\x0b\x43ONSTRAINTS\x10\x03\x12\x12\n\x0e\x41VAILABLE_TAGS\x10\x04*!\n\x05State\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x41RCHIVED\x10\x01*_\n\x08\x43\x61tegory\x12\x14\n\x10\x43\x41TEGORY_UNKNOWN\x10\x00\x12\x11\n\rCATEGORY_MODE\x10\x01\x12\x14\n\x10\x43\x41TEGORY_PACKAGE\x10\x02\x12\x14\n\x10\x43\x41TEGORY_GENERAL\x10\x03*-\n\x10PhantomGameState\x12\x0b\n\x07\x45NABLED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01*.\n\x0c\x43\x61pacityType\x12\x0f\n\x0b\x41I_BACKFILL\x10\x00\x12\r\n\tAI_STATIC\x10\x01*8\n\x10RotationBehavior\x12\x08\n\x04LOOP\x10\x00\x12\r\n\tMATCHMAKE\x10\x01\x12\x0b\n\x07ONE_MAP\x10\x02*\x1d\n\rRoundBehavior\x12\x0c\n\x08\x43ONTINUE\x10\x00*a\n\x0f\x42\x61lancingMethod\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x45VEN_NUMBERS\x10\x01\x12\x13\n\x0f\x45VEN_PERCENTAGE\x10\x02\x12\x16\n\x12\x46ILL_IN_TEAM_ORDER\x10\x03\x32\x9b\t\n\x0e\x43ommunityGames\x12o\n\x10\x63reatePlayground\x12+.web.communitygames.CreatePlaygroundRequest\x1a,.web.communitygames.CreatePlaygroundResponse\"\x00\x12o\n\x10updatePlayground\x12+.web.communitygames.UpdatePlaygroundRequest\x1a,.web.communitygames.UpdatePlaygroundResponse\"\x00\x12o\n\x10\x64\x65letePlayground\x12+.web.communitygames.DeletePlaygroundRequest\x1a,.web.communitygames.DeletePlaygroundResponse\"\x00\x12g\n\rgetPlayground\x12(.web.communitygames.GetPlaygroundRequest\x1a*.web.communitygames.PlaygroundInfoResponse\"\x00\x12\x81\x01\n\x16listPlaygroundsByOwner\x12\x31.web.communitygames.ListPlaygroundsByOwnerRequest\x1a\x32.web.communitygames.ListPlaygroundsByOwnerResponse\"\x00\x12r\n\x11getBlueprintsById\x12,.web.communitygames.GetBlueprintsByIdRequest\x1a-.web.communitygames.GetBlueprintsByIdResponse\"\x00\x12\x81\x01\n\x16getScheduledBlueprints\x12\x31.web.communitygames.GetScheduledBlueprintsRequest\x1a\x32.web.communitygames.GetScheduledBlueprintsResponse\"\x00\x12i\n\x0egetConstraints\x12).web.communitygames.GetConstraintsRequest\x1a*.web.communitygames.GetConstraintsResponse\"\x00\x12l\n\x0fsharePlayground\x12*.web.communitygames.SharePlaygroundRequest\x1a+.web.communitygames.SharePlaygroundResponse\"\x00\x12x\n\x13getProgressionTypes\x12..web.communitygames.GetProgressionTypesRequest\x1a/.web.communitygames.GetProgressionTypesResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x63ommunitygames.proto\x12\x12web.communitygames\"_\n\x10ProgressionEntry\x12\x17\n\x0fprogressionMode\x18\x01 \x01(\t\x12\x32\n\rprogressibles\x18\x02 \x03(\x0b\x32\x1b.web.communitygames.Mutator\":\n\x13TranslationMetadata\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x15\n\rtranslationId\x18\x02 \x01(\t\",\n\x10ResourceLocation\x12\x0b\n\x03ref\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"P\n\x08Resource\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.web.communitygames.ResourceLocation\x12\x0c\n\x04kind\x18\x02 \x01(\t\"z\n\x08Metadata\x12=\n\x0ctranslations\x18\x01 \x03(\x0b\x32\'.web.communitygames.TranslationMetadata\x12/\n\tresources\x18\x02 \x03(\x0b\x32\x1c.web.communitygames.Resource\"T\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tsortOrder\x18\x02 \x01(\x05\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.web.communitygames.Metadata\" \n\x0fProgressionMode\x12\r\n\x05value\x18\x01 \x01(\t\"\xf1\x01\n\x12PlaygroundResponse\x12:\n\x12originalPlayground\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.Playground\x12;\n\x13validatedPlayground\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Playground\x12$\n\x03tag\x18\x03 \x03(\x0b\x32\x17.web.communitygames.Tag\x12<\n\x0fprogressionMode\x18\x04 \x01(\x0b\x32#.web.communitygames.ProgressionMode\"\xd0\x01\n\x07MapInfo\x12\x0f\n\x07mapname\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\t\x12\x10\n\x08gameSize\x18\x03 \x01(\r\x12\x0e\n\x06rounds\x18\x04 \x01(\r\x12-\n\x08mutators\x18\x05 \x01(\x0b\x32\x1b.web.communitygames.Mutator\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x14\n\x0cpreRoundSize\x18\x07 \x01(\r\x12\x12\n\nwarmUpSize\x18\x08 \x01(\r\x12\x19\n\x11\x61llowedSpectators\x18\t \x01(\r\"\xb2\x01\n\x0bMapRotation\x12)\n\x04maps\x18\x01 \x03(\x0b\x32\x1b.web.communitygames.MapInfo\x12>\n\x10rotationBehavior\x18\x02 \x01(\x0e\x32$.web.communitygames.RotationBehavior\x12\x38\n\rroundBehavior\x18\x03 \x01(\x0e\x32!.web.communitygames.RoundBehavior\"1\n\rTeamStructure\x12\x0e\n\x06teamId\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x05\"q\n\x15InternalTeamStructure\x12\x0e\n\x06teamId\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x05\x12\x36\n\x0c\x63\x61pacityType\x18\x03 \x01(\x0e\x32 .web.communitygames.CapacityType\"7\n\x17MutatorSparseFloatEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"{\n\x12MutatorSparseFloat\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x02\x12\x0c\n\x04size\x18\x02 \x01(\r\x12\x41\n\x0csparseValues\x18\x03 \x03(\x0b\x32+.web.communitygames.MutatorSparseFloatEntry\"\x1d\n\x0cMutatorFloat\x12\r\n\x05value\x18\x01 \x01(\x02\"#\n\x0eMutatorBoolean\x12\x11\n\tboolValue\x18\x01 \x01(\x08\"$\n\rMutatorString\x12\x13\n\x0bstringValue\x18\x01 \x01(\t\"\x1b\n\nMutatorInt\x12\r\n\x05value\x18\x01 \x01(\x05\"9\n\x19MutatorSparseBooleanEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x08\"\x7f\n\x14MutatorSparseBoolean\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x08\x12\x0c\n\x04size\x18\x02 \x01(\r\x12\x43\n\x0csparseValues\x18\x03 \x03(\x0b\x32-.web.communitygames.MutatorSparseBooleanEntry\"!\n\x0fSparseIntEntity\x12\x0e\n\x06values\x18\x01 \x03(\x05\"5\n\x15MutatorSparseIntEntry\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x05\"w\n\x10MutatorSparseInt\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\r\x12?\n\x0csparseValues\x18\x03 \x01(\x0b\x32).web.communitygames.MutatorSparseIntEntry\"\xbb\x03\n\x0bMutatorKind\x12:\n\x0emutatorBoolean\x18\x01 \x01(\x0b\x32\".web.communitygames.MutatorBoolean\x12\x38\n\rmutatorString\x18\x04 \x01(\x0b\x32!.web.communitygames.MutatorString\x12\x36\n\x0cmutatorFloat\x18\x05 \x01(\x0b\x32 .web.communitygames.MutatorFloat\x12\x32\n\nmutatorInt\x18\x06 \x01(\x0b\x32\x1e.web.communitygames.MutatorInt\x12\x46\n\x14mutatorSparseBoolean\x18\x07 \x01(\x0b\x32(.web.communitygames.MutatorSparseBoolean\x12>\n\x10mutatorSparseInt\x18\x08 \x01(\x0b\x32$.web.communitygames.MutatorSparseInt\x12\x42\n\x12mutatorSparseFloat\x18\t \x01(\x0b\x32&.web.communitygames.MutatorSparseFloat\"\xc3\x01\n\x0fTeamComposition\x12\x30\n\x05teams\x18\x01 \x01(\x0b\x32!.web.communitygames.TeamStructure\x12@\n\rinternalTeams\x18\x02 \x03(\x0b\x32).web.communitygames.InternalTeamStructure\x12<\n\x0f\x62\x61lancingMethod\x18\x03 \x01(\x0e\x32#.web.communitygames.BalancingMethod\"d\n\x07Mutator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12-\n\x04kind\x18\x03 \x01(\x0b\x32\x1f.web.communitygames.MutatorKind\x12\n\n\x02id\x18\x04 \x01(\t\"/\n\tTimestamp\x12\x13\n\x07seconds\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\r\n\x05nanos\x18\x02 \x01(\x05\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"/\n\x11GameServerMessage\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\"\xcb\x02\n\x12GameServerSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12@\n\x11gameServerMessage\x18\x03 \x03(\x0b\x32%.web.communitygames.GameServerMessage\x12\x33\n\nconfigName\x18\x04 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12:\n\x11\x43onfigDescription\x18\x05 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12>\n\x10phantomGameState\x18\x06 \x01(\x0e\x32$.web.communitygames.PhantomGameState\"l\n\nPlayerInfo\x12\x15\n\tnucleusId\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x15\n\tpersonaId\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x30\n\nplatformId\x18\x03 \x01(\x0e\x32\x1c.web.communitygames.Platform\"G\n\x14PlatformRestrictions\x12/\n\tplatforms\x18\x01 \x03(\x0e\x32\x1c.web.communitygames.Platform\"P\n\x16InputMethodResrictions\x12\x36\n\x0cinputMethods\x18\x01 \x03(\x0e\x32 .web.communitygames.InputMethods\"\xa4\x01\n\x0cRestrictions\x12\x46\n\x14platformRestrictions\x18\x01 \x01(\x0b\x32(.web.communitygames.PlatformRestrictions\x12L\n\x18inputMethodResctrictions\x18\x02 \x01(\x0b\x32*.web.communitygames.InputMethodResrictions\"R\n\nCompressed\x12\x18\n\x10\x63ompiledModRules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\x12\x14\n\x0cinflatedSize\x18\x03 \x01(\x05\">\n\x0cUncompressed\x12\x18\n\x10\x63ompiledModRules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\"{\n\rCompiledRules\x12\x36\n\x0cuncompressed\x18\x01 \x01(\x0b\x32 .web.communitygames.Uncompressed\x12\x32\n\ncompressed\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Compressed\"n\n\x12\x43ompatibleModRules\x12\r\n\x05rules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x03 \x01(\x05\x12\x33\n\x08\x63ompiled\x18\x04 \x01(\x0b\x32!.web.communitygames.CompiledRules\"Z\n\x14InCompatibleModRules\x12\r\n\x05rules\x18\x01 \x01(\x0c\x12\x14\n\x0crulesVersion\x18\x02 \x01(\x05\x12\x1d\n\x15\x62lueprintRulesVersion\x18\x03 \x01(\x05\"\x98\x01\n\x10OriginalModRules\x12?\n\x0f\x63ompatibleRules\x18\x01 \x01(\x0b\x32&.web.communitygames.CompatibleModRules\x12\x43\n\x11incompatibleRules\x18\x02 \x01(\x0b\x32(.web.communitygames.InCompatibleModRules\"K\n\x1f\x41ssetCategoryTagBooleanOverride\x12\x19\n\x11\x61ssetCategoryTags\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x08\"_\n#AssetCategoryTagBooleanTeamOverride\x12\x19\n\x11\x61ssetCategoryTags\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x08\x12\x0e\n\x06teamId\x18\x03 \x01(\r\"\xc4\x01\n\x14\x41ssetCategoryBoolean\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x08\x12\x46\n\toverrides\x18\x02 \x01(\x0b\x32\x33.web.communitygames.AssetCategoryTagBooleanOverride\x12N\n\rteamOverrides\x18\x03 \x03(\x0b\x32\x37.web.communitygames.AssetCategoryTagBooleanTeamOverride\"Y\n\rAssetCategory\x12\r\n\x05tagId\x18\x01 \x01(\t\x12\x39\n\x07\x62oolean\x18\x02 \x01(\x0b\x32(.web.communitygames.AssetCategoryBoolean\"\xca\x05\n\nPlayground\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\x12\x15\n\rblueprintType\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12-\n\x08mutators\x18\x06 \x03(\x0b\x32\x1b.web.communitygames.Mutator\x12\x34\n\x0bmapRotation\x18\x07 \x01(\x0b\x32\x1f.web.communitygames.MapRotation\x12(\n\x05state\x18\x08 \x01(\x0e\x32\x19.web.communitygames.State\x12\x10\n\x08\x63hecksum\x18\t \x01(\t\x12\x0e\n\x06secret\x18\n \x01(\t\x12\x30\n\tcreatedAt\x18\x0b \x01(\x0b\x32\x1d.web.communitygames.Timestamp\x12\x30\n\tupdatedAt\x18\x0c \x01(\x0b\x32\x1d.web.communitygames.Timestamp\x12>\n\x0eserverSettings\x18\r \x01(\x0b\x32&.web.communitygames.GameServerSettings\x12-\n\x05owner\x18\x0e \x01(\x0b\x32\x1e.web.communitygames.PlayerInfo\x12\x36\n\x0crestrictions\x18\x0f \x01(\x0b\x32 .web.communitygames.Restrictions\x12\x36\n\x08modRules\x18\x10 \x01(\x0b\x32$.web.communitygames.OriginalModRules\x12:\n\x0f\x61ssetCategories\x18\x11 \x03(\x0b\x32!.web.communitygames.AssetCategory\x12<\n\x0fteamComposition\x18\x12 \x01(\x0b\x32#.web.communitygames.TeamComposition\"6\n\x1dListPlaygroundsByOwnerRequest\x12\x15\n\rblueprintType\x18\x01 \x01(\t\"\x17\n\x15GetConstraintsRequest\"j\n\x18GetBlueprintsByIdRequest\x12\x14\n\x0c\x62lueprintIds\x18\x01 \x03(\t\x12\x38\n\rincludeFields\x18\x02 \x03(\x0e\x32!.web.communitygames.IncludeFields\"w\n\x11GlobalConstraints\x12\x1f\n\x17maxPlaygroundsPerPlayer\x18\x01 \x01(\x05\x12\x1f\n\x17maxGameServersPerPlayer\x18\x02 \x01(\x05\x12 \n\x18maxFollowedHostsListSize\x18\x03 \x01(\x05\".\n\x08IntRange\x12\x10\n\x08minValue\x18\x01 \x01(\x05\x12\x10\n\x08maxValue\x18\x02 \x01(\x05\"|\n\x12\x41vailableIntValues\x12+\n\x05range\x18\x01 \x01(\x0b\x32\x1c.web.communitygames.IntRange\x12\x39\n\x0csparseValues\x18\x02 \x01(\x0b\x32#.web.communitygames.SparseIntEntity\"j\n\x11\x41vailableIntValue\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x01 \x01(\x05\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"#\n\x11SparseFloatValues\x12\x0e\n\x06values\x18\x01 \x03(\x02\"0\n\nFloatRange\x12\x10\n\x08minValue\x18\x01 \x01(\x02\x12\x10\n\x08maxValue\x18\x02 \x01(\x02\"\x82\x01\n\x14\x41vailableFloatValues\x12-\n\x05range\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.FloatRange\x12;\n\x0csparseValues\x18\x02 \x01(\x0b\x32%.web.communitygames.SparseFloatValues\"\x93\x01\n\x1b\x41vailableMutatorFloatValues\x12\x31\n\x07mutator\x18\x01 \x01(\x0b\x32 .web.communitygames.MutatorFloat\x12\x41\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32(.web.communitygames.AvailableFloatValues\"\x8d\x01\n\x19\x41vailableMutatorIntValues\x12/\n\x07mutator\x18\x01 \x01(\x0b\x32\x1e.web.communitygames.MutatorInt\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"\x99\x01\n\x1f\x41vailableMutatorSparseIntValues\x12\x35\n\x07mutator\x18\x01 \x01(\x0b\x32$.web.communitygames.MutatorSparseInt\x12?\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32&.web.communitygames.AvailableIntValues\"\x9f\x01\n!AvailableMutatorSparseFloatValues\x12\x37\n\x07mutator\x18\x01 \x01(\x0b\x32&.web.communitygames.MutatorSparseFloat\x12\x41\n\x0f\x61vailableValues\x18\x02 \x01(\x0b\x32(.web.communitygames.AvailableFloatValues\"\x98\x04\n\x14\x41vailableMutatorKind\x12:\n\x0emutatorBoolean\x18\x01 \x01(\x0b\x32\".web.communitygames.MutatorBoolean\x12\x38\n\rmutatorString\x18\x04 \x01(\x0b\x32!.web.communitygames.MutatorString\x12K\n\x12mutatorFloatValues\x18\x07 \x01(\x0b\x32/.web.communitygames.AvailableMutatorFloatValues\x12G\n\x10mutatorIntValues\x18\x08 \x01(\x0b\x32-.web.communitygames.AvailableMutatorIntValues\x12\x46\n\x14mutatorSparseBoolean\x18\t \x01(\x0b\x32(.web.communitygames.MutatorSparseBoolean\x12S\n\x16mutatorSparseIntValues\x18\n \x01(\x0b\x32\x33.web.communitygames.AvailableMutatorSparseIntValues\x12W\n\x18mutatorSparseFloatValues\x18\x0b \x01(\x0b\x32\x35.web.communitygames.AvailableMutatorSparseFloatValues\"\xa6\x01\n\x10\x41vailableMutator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x36\n\x04kind\x18\x03 \x01(\x0b\x32(.web.communitygames.AvailableMutatorKind\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12\n\n\x02id\x18\x05 \x01(\t\"\xe1\x03\n\x11\x41vailableMapEntry\x12\x11\n\tlevelName\x18\x01 \x01(\t\x12\x10\n\x08gameMode\x18\x02 \x01(\t\x12\x15\n\rlevelLocation\x18\x03 \x01(\t\x12\x37\n\x08gameSize\x18\x04 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x35\n\x06rounds\x18\x05 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12;\n\x0cpreRoundSize\x18\x06 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x39\n\nwarmUpSize\x18\x07 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12@\n\x11\x61llowedSpectators\x18\x08 \x01(\x0b\x32%.web.communitygames.AvailableIntValue\x12\x36\n\x08mutators\x18\t \x03(\x0b\x32$.web.communitygames.AvailableMutator\x12.\n\x08metadata\x18\n \x03(\x0b\x32\x1c.web.communitygames.Metadata\"z\n\x0c\x41vailableTag\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12.\n\x08\x63\x61tegory\x18\x03 \x01(\x0e\x32\x1c.web.communitygames.Category\"~\n\x19\x41vailableAssetCategoryTag\x12\r\n\x05tagId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0c\x63hildrenTags\x18\x03 \x03(\t\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\"\x98\x01\n\x18\x41vailableAssetCategories\x12?\n\x08rootTags\x18\x01 \x03(\x0b\x32-.web.communitygames.AvailableAssetCategoryTag\x12;\n\x04tags\x18\x02 \x03(\x0b\x32-.web.communitygames.AvailableAssetCategoryTag\"\xcc\x01\n\x15PlaygroundConstraints\x12\x13\n\x0bmaxNameSize\x18\x01 \x01(\x05\x12\x1a\n\x12maxDescriptionSize\x18\x02 \x01(\x05\x12\x15\n\rmaxSecretSize\x18\x03 \x01(\x05\x12\x19\n\x11maxMapsInRotation\x18\x04 \x01(\x05\x12\x13\n\x0bmaxMutators\x18\x05 \x01(\x05\x12\x19\n\x11maxConfigNameSize\x18\x06 \x01(\x05\x12 \n\x18maxConfigDescriptionSize\x18\x07 \x01(\x05\">\n\x12ModRulesDefinition\x12\x14\n\x0crulesVersion\x18\x01 \x01(\x05\x12\x12\n\nmodBuilder\x18\x02 \x01(\x0c\"\x81\x02\n\x11\x41vailableGameData\x12\x36\n\x08mutators\x18\x01 \x03(\x0b\x32$.web.communitygames.AvailableMutator\x12\x33\n\x04maps\x18\x02 \x03(\x0b\x32%.web.communitygames.AvailableMapEntry\x12\x38\n\x08modRules\x18\x04 \x01(\x0b\x32&.web.communitygames.ModRulesDefinition\x12\x45\n\x0f\x61ssetCategories\x18\x05 \x01(\x0b\x32,.web.communitygames.AvailableAssetCategories\"\xb9\x02\n\tBlueprint\x12\x15\n\rblueprintType\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12@\n\x11\x61vailableGameData\x18\x03 \x01(\x0b\x32%.web.communitygames.AvailableGameData\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x1c.web.communitygames.Metadata\x12\x12\n\ncustomData\x18\x05 \x01(\x0c\x12H\n\x15playgroundConstraints\x18\x06 \x01(\x0b\x32).web.communitygames.PlaygroundConstraints\x12\x37\n\ravailableTags\x18\x07 \x03(\x0b\x32 .web.communitygames.AvailableTag\"\x19\n\tShortCode\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\"\x1c\n\x1aGetProgressionTypesRequest\";\n\rBlueprintInfo\x12\x15\n\rblueprintType\x18\x01 \x01(\t\x12\x13\n\x0b\x62lueprintId\x18\x02 \x01(\t\"T\n\x1bGetProgressionTypesResponse\x12\x35\n\x07\x65ntries\x18\x01 \x03(\x0b\x32$.web.communitygames.ProgressionEntry\"\x1f\n\x1dGetScheduledBlueprintsRequest\"W\n\x1eGetScheduledBlueprintsResponse\x12\x35\n\nblueprints\x18\x01 \x01(\x0b\x32!.web.communitygames.BlueprintInfo\"M\n\x19GetBlueprintsByIdResponse\x12\x30\n\tblueprint\x18\x01 \x03(\x0b\x32\x1d.web.communitygames.Blueprint\"Z\n\x16GetConstraintsResponse\x12@\n\x11globalConstraints\x18\x01 \x01(\x0b\x32%.web.communitygames.GlobalConstraints\"e\n\x1eListPlaygroundsByOwnerResponse\x12\x43\n\x13playgroundResponses\x18\x02 \x03(\x0b\x32&.web.communitygames.PlaygroundResponse\"\x96\x04\n\x17\x43reatePlaygroundRequest\x12\x15\n\rblueprintType\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x34\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12-\n\x08mutators\x18\x05 \x03(\x0b\x32\x1b.web.communitygames.Mutator\x12\x34\n\x0bmapRotation\x18\x06 \x01(\x0b\x32\x1f.web.communitygames.MapRotation\x12/\n\x06secret\x18\x07 \x01(\x0b\x32\x1f.web.communitygames.StringValue\x12>\n\x0eserverSettings\x18\x08 \x01(\x0b\x32&.web.communitygames.GameServerSettings\x12\x36\n\x0crestrictions\x18\t \x01(\x0b\x32 .web.communitygames.Restrictions\x12\x18\n\x10originalModRules\x18\n \x01(\x0c\x12:\n\x0f\x61ssetCategories\x18\x0b \x03(\x0b\x32!.web.communitygames.AssetCategory\x12<\n\x0fteamComposition\x18\x0c \x01(\x0b\x32#.web.communitygames.TeamComposition\"P\n\x17UpdatePlaygroundRequest\x12\x35\n\rnewPlayground\x18\x02 \x01(\x0b\x32\x1e.web.communitygames.Playground\"/\n\x17\x44\x65letePlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\",\n\x14GetPlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x02 \x01(\t\".\n\x16SharePlaygroundRequest\x12\x14\n\x0cplaygroundId\x18\x01 \x01(\t\"K\n\x17SharePlaygroundResponse\x12\x30\n\tshortCode\x18\x01 \x01(\x0b\x32\x1d.web.communitygames.ShortCode\"^\n\x18\x43reatePlaygroundResponse\x12\x42\n\x12playgroundResponse\x18\x02 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse\"^\n\x18UpdatePlaygroundResponse\x12\x42\n\x12playgroundResponse\x18\x02 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse\"\x1a\n\x18\x44\x65letePlaygroundResponse\"T\n\x16PlaygroundInfoResponse\x12:\n\nplayground\x18\x01 \x01(\x0b\x32&.web.communitygames.PlaygroundResponse*T\n\x08Platform\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02PC\x10\x01\x12\x07\n\x03PS4\x10\x02\x12\x0b\n\x07XBOXONE\x10\x03\x12\x07\n\x03PS5\x10\x04\x12\x08\n\x04XBSX\x10\x05\x12\n\n\x06\x43OMMON\x10\x06*@\n\x0cInputMethods\x12\x07\n\x03\x41LL\x10\x00\x12\x12\n\x0eKEYBOARD_MOUSE\x10\x01\x12\x13\n\x0fGAME_CONTROLLER\x10\x03*l\n\rIncludeFields\x12\x17\n\x13\x41VAILABLE_GAME_DATA\x10\x00\x12\x0c\n\x08METADATA\x10\x01\x12\x0f\n\x0b\x43USTOM_DATA\x10\x02\x12\x0f\n\x0b\x43ONSTRAINTS\x10\x03\x12\x12\n\x0e\x41VAILABLE_TAGS\x10\x04*!\n\x05State\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x41RCHIVED\x10\x01*_\n\x08\x43\x61tegory\x12\x14\n\x10\x43\x41TEGORY_UNKNOWN\x10\x00\x12\x11\n\rCATEGORY_MODE\x10\x01\x12\x14\n\x10\x43\x41TEGORY_PACKAGE\x10\x02\x12\x14\n\x10\x43\x41TEGORY_GENERAL\x10\x03*-\n\x10PhantomGameState\x12\x0b\n\x07\x45NABLED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01*.\n\x0c\x43\x61pacityType\x12\x0f\n\x0b\x41I_BACKFILL\x10\x00\x12\r\n\tAI_STATIC\x10\x01*8\n\x10RotationBehavior\x12\x08\n\x04LOOP\x10\x00\x12\r\n\tMATCHMAKE\x10\x01\x12\x0b\n\x07ONE_MAP\x10\x02*\x1d\n\rRoundBehavior\x12\x0c\n\x08\x43ONTINUE\x10\x00*a\n\x0f\x42\x61lancingMethod\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x45VEN_NUMBERS\x10\x01\x12\x13\n\x0f\x45VEN_PERCENTAGE\x10\x02\x12\x16\n\x12\x46ILL_IN_TEAM_ORDER\x10\x03\x32\x9b\t\n\x0e\x43ommunityGames\x12o\n\x10\x63reatePlayground\x12+.web.communitygames.CreatePlaygroundRequest\x1a,.web.communitygames.CreatePlaygroundResponse\"\x00\x12o\n\x10updatePlayground\x12+.web.communitygames.UpdatePlaygroundRequest\x1a,.web.communitygames.UpdatePlaygroundResponse\"\x00\x12o\n\x10\x64\x65letePlayground\x12+.web.communitygames.DeletePlaygroundRequest\x1a,.web.communitygames.DeletePlaygroundResponse\"\x00\x12g\n\rgetPlayground\x12(.web.communitygames.GetPlaygroundRequest\x1a*.web.communitygames.PlaygroundInfoResponse\"\x00\x12\x81\x01\n\x16listPlaygroundsByOwner\x12\x31.web.communitygames.ListPlaygroundsByOwnerRequest\x1a\x32.web.communitygames.ListPlaygroundsByOwnerResponse\"\x00\x12r\n\x11getBlueprintsById\x12,.web.communitygames.GetBlueprintsByIdRequest\x1a-.web.communitygames.GetBlueprintsByIdResponse\"\x00\x12\x81\x01\n\x16getScheduledBlueprints\x12\x31.web.communitygames.GetScheduledBlueprintsRequest\x1a\x32.web.communitygames.GetScheduledBlueprintsResponse\"\x00\x12i\n\x0egetConstraints\x12).web.communitygames.GetConstraintsRequest\x1a*.web.communitygames.GetConstraintsResponse\"\x00\x12l\n\x0fsharePlayground\x12*.web.communitygames.SharePlaygroundRequest\x1a+.web.communitygames.SharePlaygroundResponse\"\x00\x12x\n\x13getProgressionTypes\x12..web.communitygames.GetProgressionTypesRequest\x1a/.web.communitygames.GetProgressionTypesResponse\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.communitygames_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'communitygames_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None _TIMESTAMP.fields_by_name['seconds']._options = None _TIMESTAMP.fields_by_name['seconds']._serialized_options = b'0\001' @@ -27,202 +26,202 @@ _PLAYERINFO.fields_by_name['nucleusId']._serialized_options = b'0\001' _PLAYERINFO.fields_by_name['personaId']._options = None _PLAYERINFO.fields_by_name['personaId']._serialized_options = b'0\001' - _globals['_PLATFORM']._serialized_start=11165 - _globals['_PLATFORM']._serialized_end=11249 - _globals['_INPUTMETHODS']._serialized_start=11251 - _globals['_INPUTMETHODS']._serialized_end=11315 - _globals['_INCLUDEFIELDS']._serialized_start=11317 - _globals['_INCLUDEFIELDS']._serialized_end=11425 - _globals['_STATE']._serialized_start=11427 - _globals['_STATE']._serialized_end=11460 - _globals['_CATEGORY']._serialized_start=11462 - _globals['_CATEGORY']._serialized_end=11557 - _globals['_PHANTOMGAMESTATE']._serialized_start=11559 - _globals['_PHANTOMGAMESTATE']._serialized_end=11604 - _globals['_CAPACITYTYPE']._serialized_start=11606 - _globals['_CAPACITYTYPE']._serialized_end=11652 - _globals['_ROTATIONBEHAVIOR']._serialized_start=11654 - _globals['_ROTATIONBEHAVIOR']._serialized_end=11710 - _globals['_ROUNDBEHAVIOR']._serialized_start=11712 - _globals['_ROUNDBEHAVIOR']._serialized_end=11741 - _globals['_BALANCINGMETHOD']._serialized_start=11743 - _globals['_BALANCINGMETHOD']._serialized_end=11840 - _globals['_PROGRESSIONENTRY']._serialized_start=50 - _globals['_PROGRESSIONENTRY']._serialized_end=145 - _globals['_TRANSLATIONMETADATA']._serialized_start=147 - _globals['_TRANSLATIONMETADATA']._serialized_end=205 - _globals['_RESOURCELOCATION']._serialized_start=207 - _globals['_RESOURCELOCATION']._serialized_end=251 - _globals['_RESOURCE']._serialized_start=253 - _globals['_RESOURCE']._serialized_end=333 - _globals['_METADATA']._serialized_start=335 - _globals['_METADATA']._serialized_end=457 - _globals['_TAG']._serialized_start=459 - _globals['_TAG']._serialized_end=543 - _globals['_PROGRESSIONMODE']._serialized_start=545 - _globals['_PROGRESSIONMODE']._serialized_end=577 - _globals['_PLAYGROUNDRESPONSE']._serialized_start=580 - _globals['_PLAYGROUNDRESPONSE']._serialized_end=821 - _globals['_MAPINFO']._serialized_start=824 - _globals['_MAPINFO']._serialized_end=1032 - _globals['_MAPROTATION']._serialized_start=1035 - _globals['_MAPROTATION']._serialized_end=1213 - _globals['_TEAMSTRUCTURE']._serialized_start=1215 - _globals['_TEAMSTRUCTURE']._serialized_end=1264 - _globals['_INTERNALTEAMSTRUCTURE']._serialized_start=1266 - _globals['_INTERNALTEAMSTRUCTURE']._serialized_end=1379 - _globals['_MUTATORSPARSEFLOATENTRY']._serialized_start=1381 - _globals['_MUTATORSPARSEFLOATENTRY']._serialized_end=1436 - _globals['_MUTATORSPARSEFLOAT']._serialized_start=1438 - _globals['_MUTATORSPARSEFLOAT']._serialized_end=1561 - _globals['_MUTATORFLOAT']._serialized_start=1563 - _globals['_MUTATORFLOAT']._serialized_end=1592 - _globals['_MUTATORBOOLEAN']._serialized_start=1594 - _globals['_MUTATORBOOLEAN']._serialized_end=1629 - _globals['_MUTATORSTRING']._serialized_start=1631 - _globals['_MUTATORSTRING']._serialized_end=1667 - _globals['_MUTATORINT']._serialized_start=1669 - _globals['_MUTATORINT']._serialized_end=1696 - _globals['_MUTATORSPARSEBOOLEANENTRY']._serialized_start=1698 - _globals['_MUTATORSPARSEBOOLEANENTRY']._serialized_end=1755 - _globals['_MUTATORSPARSEBOOLEAN']._serialized_start=1757 - _globals['_MUTATORSPARSEBOOLEAN']._serialized_end=1884 - _globals['_SPARSEINTENTITY']._serialized_start=1886 - _globals['_SPARSEINTENTITY']._serialized_end=1919 - _globals['_MUTATORSPARSEINTENTRY']._serialized_start=1921 - _globals['_MUTATORSPARSEINTENTRY']._serialized_end=1974 - _globals['_MUTATORSPARSEINT']._serialized_start=1976 - _globals['_MUTATORSPARSEINT']._serialized_end=2095 - _globals['_MUTATORKIND']._serialized_start=2098 - _globals['_MUTATORKIND']._serialized_end=2541 - _globals['_TEAMCOMPOSITION']._serialized_start=2544 - _globals['_TEAMCOMPOSITION']._serialized_end=2739 - _globals['_MUTATOR']._serialized_start=2741 - _globals['_MUTATOR']._serialized_end=2841 - _globals['_TIMESTAMP']._serialized_start=2843 - _globals['_TIMESTAMP']._serialized_end=2890 - _globals['_STRINGVALUE']._serialized_start=2892 - _globals['_STRINGVALUE']._serialized_end=2920 - _globals['_GAMESERVERMESSAGE']._serialized_start=2922 - _globals['_GAMESERVERMESSAGE']._serialized_end=2969 - _globals['_GAMESERVERSETTINGS']._serialized_start=2972 - _globals['_GAMESERVERSETTINGS']._serialized_end=3303 - _globals['_PLAYERINFO']._serialized_start=3305 - _globals['_PLAYERINFO']._serialized_end=3413 - _globals['_PLATFORMRESTRICTIONS']._serialized_start=3415 - _globals['_PLATFORMRESTRICTIONS']._serialized_end=3486 - _globals['_INPUTMETHODRESRICTIONS']._serialized_start=3488 - _globals['_INPUTMETHODRESRICTIONS']._serialized_end=3568 - _globals['_RESTRICTIONS']._serialized_start=3571 - _globals['_RESTRICTIONS']._serialized_end=3735 - _globals['_COMPRESSED']._serialized_start=3737 - _globals['_COMPRESSED']._serialized_end=3819 - _globals['_UNCOMPRESSED']._serialized_start=3821 - _globals['_UNCOMPRESSED']._serialized_end=3883 - _globals['_COMPILEDRULES']._serialized_start=3885 - _globals['_COMPILEDRULES']._serialized_end=4008 - _globals['_COMPATIBLEMODRULES']._serialized_start=4010 - _globals['_COMPATIBLEMODRULES']._serialized_end=4120 - _globals['_INCOMPATIBLEMODRULES']._serialized_start=4122 - _globals['_INCOMPATIBLEMODRULES']._serialized_end=4212 - _globals['_ORIGINALMODRULES']._serialized_start=4215 - _globals['_ORIGINALMODRULES']._serialized_end=4367 - _globals['_ASSETCATEGORYTAGBOOLEANOVERRIDE']._serialized_start=4369 - _globals['_ASSETCATEGORYTAGBOOLEANOVERRIDE']._serialized_end=4444 - _globals['_ASSETCATEGORYTAGBOOLEANTEAMOVERRIDE']._serialized_start=4446 - _globals['_ASSETCATEGORYTAGBOOLEANTEAMOVERRIDE']._serialized_end=4541 - _globals['_ASSETCATEGORYBOOLEAN']._serialized_start=4544 - _globals['_ASSETCATEGORYBOOLEAN']._serialized_end=4740 - _globals['_ASSETCATEGORY']._serialized_start=4742 - _globals['_ASSETCATEGORY']._serialized_end=4831 - _globals['_PLAYGROUND']._serialized_start=4834 - _globals['_PLAYGROUND']._serialized_end=5548 - _globals['_LISTPLAYGROUNDSBYOWNERREQUEST']._serialized_start=5550 - _globals['_LISTPLAYGROUNDSBYOWNERREQUEST']._serialized_end=5604 - _globals['_GETCONSTRAINTSREQUEST']._serialized_start=5606 - _globals['_GETCONSTRAINTSREQUEST']._serialized_end=5629 - _globals['_GETBLUEPRINTSBYIDREQUEST']._serialized_start=5631 - _globals['_GETBLUEPRINTSBYIDREQUEST']._serialized_end=5737 - _globals['_GLOBALCONSTRAINTS']._serialized_start=5739 - _globals['_GLOBALCONSTRAINTS']._serialized_end=5858 - _globals['_INTRANGE']._serialized_start=5860 - _globals['_INTRANGE']._serialized_end=5906 - _globals['_AVAILABLEINTVALUES']._serialized_start=5908 - _globals['_AVAILABLEINTVALUES']._serialized_end=6032 - _globals['_AVAILABLEINTVALUE']._serialized_start=6034 - _globals['_AVAILABLEINTVALUE']._serialized_end=6140 - _globals['_SPARSEFLOATVALUES']._serialized_start=6142 - _globals['_SPARSEFLOATVALUES']._serialized_end=6177 - _globals['_FLOATRANGE']._serialized_start=6179 - _globals['_FLOATRANGE']._serialized_end=6227 - _globals['_AVAILABLEFLOATVALUES']._serialized_start=6230 - _globals['_AVAILABLEFLOATVALUES']._serialized_end=6360 - _globals['_AVAILABLEMUTATORFLOATVALUES']._serialized_start=6363 - _globals['_AVAILABLEMUTATORFLOATVALUES']._serialized_end=6510 - _globals['_AVAILABLEMUTATORINTVALUES']._serialized_start=6513 - _globals['_AVAILABLEMUTATORINTVALUES']._serialized_end=6654 - _globals['_AVAILABLEMUTATORSPARSEINTVALUES']._serialized_start=6657 - _globals['_AVAILABLEMUTATORSPARSEINTVALUES']._serialized_end=6810 - _globals['_AVAILABLEMUTATORSPARSEFLOATVALUES']._serialized_start=6813 - _globals['_AVAILABLEMUTATORSPARSEFLOATVALUES']._serialized_end=6972 - _globals['_AVAILABLEMUTATORKIND']._serialized_start=6975 - _globals['_AVAILABLEMUTATORKIND']._serialized_end=7511 - _globals['_AVAILABLEMUTATOR']._serialized_start=7514 - _globals['_AVAILABLEMUTATOR']._serialized_end=7680 - _globals['_AVAILABLEMAPENTRY']._serialized_start=7683 - _globals['_AVAILABLEMAPENTRY']._serialized_end=8164 - _globals['_AVAILABLETAG']._serialized_start=8166 - _globals['_AVAILABLETAG']._serialized_end=8288 - _globals['_AVAILABLEASSETCATEGORYTAG']._serialized_start=8290 - _globals['_AVAILABLEASSETCATEGORYTAG']._serialized_end=8416 - _globals['_AVAILABLEASSETCATEGORIES']._serialized_start=8419 - _globals['_AVAILABLEASSETCATEGORIES']._serialized_end=8571 - _globals['_PLAYGROUNDCONSTRAINTS']._serialized_start=8574 - _globals['_PLAYGROUNDCONSTRAINTS']._serialized_end=8778 - _globals['_MODRULESDEFINITION']._serialized_start=8780 - _globals['_MODRULESDEFINITION']._serialized_end=8842 - _globals['_AVAILABLEGAMEDATA']._serialized_start=8845 - _globals['_AVAILABLEGAMEDATA']._serialized_end=9102 - _globals['_BLUEPRINT']._serialized_start=9105 - _globals['_BLUEPRINT']._serialized_end=9418 - _globals['_SHORTCODE']._serialized_start=9420 - _globals['_SHORTCODE']._serialized_end=9445 - _globals['_GETPROGRESSIONTYPESREQUEST']._serialized_start=9447 - _globals['_GETPROGRESSIONTYPESREQUEST']._serialized_end=9475 - _globals['_BLUEPRINTINFO']._serialized_start=9477 - _globals['_BLUEPRINTINFO']._serialized_end=9536 - _globals['_GETPROGRESSIONTYPESRESPONSE']._serialized_start=9538 - _globals['_GETPROGRESSIONTYPESRESPONSE']._serialized_end=9622 - _globals['_GETSCHEDULEDBLUEPRINTSREQUEST']._serialized_start=9624 - _globals['_GETSCHEDULEDBLUEPRINTSREQUEST']._serialized_end=9655 - _globals['_GETSCHEDULEDBLUEPRINTSRESPONSE']._serialized_start=9657 - _globals['_GETSCHEDULEDBLUEPRINTSRESPONSE']._serialized_end=9744 - _globals['_GETBLUEPRINTSBYIDRESPONSE']._serialized_start=9746 - _globals['_GETBLUEPRINTSBYIDRESPONSE']._serialized_end=9823 - _globals['_GETCONSTRAINTSRESPONSE']._serialized_start=9825 - _globals['_GETCONSTRAINTSRESPONSE']._serialized_end=9915 - _globals['_LISTPLAYGROUNDSBYOWNERRESPONSE']._serialized_start=9917 - _globals['_LISTPLAYGROUNDSBYOWNERRESPONSE']._serialized_end=10018 - _globals['_CREATEPLAYGROUNDREQUEST']._serialized_start=10021 - _globals['_CREATEPLAYGROUNDREQUEST']._serialized_end=10555 - _globals['_UPDATEPLAYGROUNDREQUEST']._serialized_start=10557 - _globals['_UPDATEPLAYGROUNDREQUEST']._serialized_end=10637 - _globals['_DELETEPLAYGROUNDREQUEST']._serialized_start=10639 - _globals['_DELETEPLAYGROUNDREQUEST']._serialized_end=10686 - _globals['_GETPLAYGROUNDREQUEST']._serialized_start=10688 - _globals['_GETPLAYGROUNDREQUEST']._serialized_end=10732 - _globals['_SHAREPLAYGROUNDREQUEST']._serialized_start=10734 - _globals['_SHAREPLAYGROUNDREQUEST']._serialized_end=10780 - _globals['_SHAREPLAYGROUNDRESPONSE']._serialized_start=10782 - _globals['_SHAREPLAYGROUNDRESPONSE']._serialized_end=10857 - _globals['_CREATEPLAYGROUNDRESPONSE']._serialized_start=10859 - _globals['_CREATEPLAYGROUNDRESPONSE']._serialized_end=10953 - _globals['_UPDATEPLAYGROUNDRESPONSE']._serialized_start=10955 - _globals['_UPDATEPLAYGROUNDRESPONSE']._serialized_end=11049 - _globals['_DELETEPLAYGROUNDRESPONSE']._serialized_start=11051 - _globals['_DELETEPLAYGROUNDRESPONSE']._serialized_end=11077 - _globals['_PLAYGROUNDINFORESPONSE']._serialized_start=11079 - _globals['_PLAYGROUNDINFORESPONSE']._serialized_end=11163 - _globals['_COMMUNITYGAMES']._serialized_start=11843 - _globals['_COMMUNITYGAMES']._serialized_end=13022 + _globals['_PLATFORM']._serialized_start=11159 + _globals['_PLATFORM']._serialized_end=11243 + _globals['_INPUTMETHODS']._serialized_start=11245 + _globals['_INPUTMETHODS']._serialized_end=11309 + _globals['_INCLUDEFIELDS']._serialized_start=11311 + _globals['_INCLUDEFIELDS']._serialized_end=11419 + _globals['_STATE']._serialized_start=11421 + _globals['_STATE']._serialized_end=11454 + _globals['_CATEGORY']._serialized_start=11456 + _globals['_CATEGORY']._serialized_end=11551 + _globals['_PHANTOMGAMESTATE']._serialized_start=11553 + _globals['_PHANTOMGAMESTATE']._serialized_end=11598 + _globals['_CAPACITYTYPE']._serialized_start=11600 + _globals['_CAPACITYTYPE']._serialized_end=11646 + _globals['_ROTATIONBEHAVIOR']._serialized_start=11648 + _globals['_ROTATIONBEHAVIOR']._serialized_end=11704 + _globals['_ROUNDBEHAVIOR']._serialized_start=11706 + _globals['_ROUNDBEHAVIOR']._serialized_end=11735 + _globals['_BALANCINGMETHOD']._serialized_start=11737 + _globals['_BALANCINGMETHOD']._serialized_end=11834 + _globals['_PROGRESSIONENTRY']._serialized_start=44 + _globals['_PROGRESSIONENTRY']._serialized_end=139 + _globals['_TRANSLATIONMETADATA']._serialized_start=141 + _globals['_TRANSLATIONMETADATA']._serialized_end=199 + _globals['_RESOURCELOCATION']._serialized_start=201 + _globals['_RESOURCELOCATION']._serialized_end=245 + _globals['_RESOURCE']._serialized_start=247 + _globals['_RESOURCE']._serialized_end=327 + _globals['_METADATA']._serialized_start=329 + _globals['_METADATA']._serialized_end=451 + _globals['_TAG']._serialized_start=453 + _globals['_TAG']._serialized_end=537 + _globals['_PROGRESSIONMODE']._serialized_start=539 + _globals['_PROGRESSIONMODE']._serialized_end=571 + _globals['_PLAYGROUNDRESPONSE']._serialized_start=574 + _globals['_PLAYGROUNDRESPONSE']._serialized_end=815 + _globals['_MAPINFO']._serialized_start=818 + _globals['_MAPINFO']._serialized_end=1026 + _globals['_MAPROTATION']._serialized_start=1029 + _globals['_MAPROTATION']._serialized_end=1207 + _globals['_TEAMSTRUCTURE']._serialized_start=1209 + _globals['_TEAMSTRUCTURE']._serialized_end=1258 + _globals['_INTERNALTEAMSTRUCTURE']._serialized_start=1260 + _globals['_INTERNALTEAMSTRUCTURE']._serialized_end=1373 + _globals['_MUTATORSPARSEFLOATENTRY']._serialized_start=1375 + _globals['_MUTATORSPARSEFLOATENTRY']._serialized_end=1430 + _globals['_MUTATORSPARSEFLOAT']._serialized_start=1432 + _globals['_MUTATORSPARSEFLOAT']._serialized_end=1555 + _globals['_MUTATORFLOAT']._serialized_start=1557 + _globals['_MUTATORFLOAT']._serialized_end=1586 + _globals['_MUTATORBOOLEAN']._serialized_start=1588 + _globals['_MUTATORBOOLEAN']._serialized_end=1623 + _globals['_MUTATORSTRING']._serialized_start=1625 + _globals['_MUTATORSTRING']._serialized_end=1661 + _globals['_MUTATORINT']._serialized_start=1663 + _globals['_MUTATORINT']._serialized_end=1690 + _globals['_MUTATORSPARSEBOOLEANENTRY']._serialized_start=1692 + _globals['_MUTATORSPARSEBOOLEANENTRY']._serialized_end=1749 + _globals['_MUTATORSPARSEBOOLEAN']._serialized_start=1751 + _globals['_MUTATORSPARSEBOOLEAN']._serialized_end=1878 + _globals['_SPARSEINTENTITY']._serialized_start=1880 + _globals['_SPARSEINTENTITY']._serialized_end=1913 + _globals['_MUTATORSPARSEINTENTRY']._serialized_start=1915 + _globals['_MUTATORSPARSEINTENTRY']._serialized_end=1968 + _globals['_MUTATORSPARSEINT']._serialized_start=1970 + _globals['_MUTATORSPARSEINT']._serialized_end=2089 + _globals['_MUTATORKIND']._serialized_start=2092 + _globals['_MUTATORKIND']._serialized_end=2535 + _globals['_TEAMCOMPOSITION']._serialized_start=2538 + _globals['_TEAMCOMPOSITION']._serialized_end=2733 + _globals['_MUTATOR']._serialized_start=2735 + _globals['_MUTATOR']._serialized_end=2835 + _globals['_TIMESTAMP']._serialized_start=2837 + _globals['_TIMESTAMP']._serialized_end=2884 + _globals['_STRINGVALUE']._serialized_start=2886 + _globals['_STRINGVALUE']._serialized_end=2914 + _globals['_GAMESERVERMESSAGE']._serialized_start=2916 + _globals['_GAMESERVERMESSAGE']._serialized_end=2963 + _globals['_GAMESERVERSETTINGS']._serialized_start=2966 + _globals['_GAMESERVERSETTINGS']._serialized_end=3297 + _globals['_PLAYERINFO']._serialized_start=3299 + _globals['_PLAYERINFO']._serialized_end=3407 + _globals['_PLATFORMRESTRICTIONS']._serialized_start=3409 + _globals['_PLATFORMRESTRICTIONS']._serialized_end=3480 + _globals['_INPUTMETHODRESRICTIONS']._serialized_start=3482 + _globals['_INPUTMETHODRESRICTIONS']._serialized_end=3562 + _globals['_RESTRICTIONS']._serialized_start=3565 + _globals['_RESTRICTIONS']._serialized_end=3729 + _globals['_COMPRESSED']._serialized_start=3731 + _globals['_COMPRESSED']._serialized_end=3813 + _globals['_UNCOMPRESSED']._serialized_start=3815 + _globals['_UNCOMPRESSED']._serialized_end=3877 + _globals['_COMPILEDRULES']._serialized_start=3879 + _globals['_COMPILEDRULES']._serialized_end=4002 + _globals['_COMPATIBLEMODRULES']._serialized_start=4004 + _globals['_COMPATIBLEMODRULES']._serialized_end=4114 + _globals['_INCOMPATIBLEMODRULES']._serialized_start=4116 + _globals['_INCOMPATIBLEMODRULES']._serialized_end=4206 + _globals['_ORIGINALMODRULES']._serialized_start=4209 + _globals['_ORIGINALMODRULES']._serialized_end=4361 + _globals['_ASSETCATEGORYTAGBOOLEANOVERRIDE']._serialized_start=4363 + _globals['_ASSETCATEGORYTAGBOOLEANOVERRIDE']._serialized_end=4438 + _globals['_ASSETCATEGORYTAGBOOLEANTEAMOVERRIDE']._serialized_start=4440 + _globals['_ASSETCATEGORYTAGBOOLEANTEAMOVERRIDE']._serialized_end=4535 + _globals['_ASSETCATEGORYBOOLEAN']._serialized_start=4538 + _globals['_ASSETCATEGORYBOOLEAN']._serialized_end=4734 + _globals['_ASSETCATEGORY']._serialized_start=4736 + _globals['_ASSETCATEGORY']._serialized_end=4825 + _globals['_PLAYGROUND']._serialized_start=4828 + _globals['_PLAYGROUND']._serialized_end=5542 + _globals['_LISTPLAYGROUNDSBYOWNERREQUEST']._serialized_start=5544 + _globals['_LISTPLAYGROUNDSBYOWNERREQUEST']._serialized_end=5598 + _globals['_GETCONSTRAINTSREQUEST']._serialized_start=5600 + _globals['_GETCONSTRAINTSREQUEST']._serialized_end=5623 + _globals['_GETBLUEPRINTSBYIDREQUEST']._serialized_start=5625 + _globals['_GETBLUEPRINTSBYIDREQUEST']._serialized_end=5731 + _globals['_GLOBALCONSTRAINTS']._serialized_start=5733 + _globals['_GLOBALCONSTRAINTS']._serialized_end=5852 + _globals['_INTRANGE']._serialized_start=5854 + _globals['_INTRANGE']._serialized_end=5900 + _globals['_AVAILABLEINTVALUES']._serialized_start=5902 + _globals['_AVAILABLEINTVALUES']._serialized_end=6026 + _globals['_AVAILABLEINTVALUE']._serialized_start=6028 + _globals['_AVAILABLEINTVALUE']._serialized_end=6134 + _globals['_SPARSEFLOATVALUES']._serialized_start=6136 + _globals['_SPARSEFLOATVALUES']._serialized_end=6171 + _globals['_FLOATRANGE']._serialized_start=6173 + _globals['_FLOATRANGE']._serialized_end=6221 + _globals['_AVAILABLEFLOATVALUES']._serialized_start=6224 + _globals['_AVAILABLEFLOATVALUES']._serialized_end=6354 + _globals['_AVAILABLEMUTATORFLOATVALUES']._serialized_start=6357 + _globals['_AVAILABLEMUTATORFLOATVALUES']._serialized_end=6504 + _globals['_AVAILABLEMUTATORINTVALUES']._serialized_start=6507 + _globals['_AVAILABLEMUTATORINTVALUES']._serialized_end=6648 + _globals['_AVAILABLEMUTATORSPARSEINTVALUES']._serialized_start=6651 + _globals['_AVAILABLEMUTATORSPARSEINTVALUES']._serialized_end=6804 + _globals['_AVAILABLEMUTATORSPARSEFLOATVALUES']._serialized_start=6807 + _globals['_AVAILABLEMUTATORSPARSEFLOATVALUES']._serialized_end=6966 + _globals['_AVAILABLEMUTATORKIND']._serialized_start=6969 + _globals['_AVAILABLEMUTATORKIND']._serialized_end=7505 + _globals['_AVAILABLEMUTATOR']._serialized_start=7508 + _globals['_AVAILABLEMUTATOR']._serialized_end=7674 + _globals['_AVAILABLEMAPENTRY']._serialized_start=7677 + _globals['_AVAILABLEMAPENTRY']._serialized_end=8158 + _globals['_AVAILABLETAG']._serialized_start=8160 + _globals['_AVAILABLETAG']._serialized_end=8282 + _globals['_AVAILABLEASSETCATEGORYTAG']._serialized_start=8284 + _globals['_AVAILABLEASSETCATEGORYTAG']._serialized_end=8410 + _globals['_AVAILABLEASSETCATEGORIES']._serialized_start=8413 + _globals['_AVAILABLEASSETCATEGORIES']._serialized_end=8565 + _globals['_PLAYGROUNDCONSTRAINTS']._serialized_start=8568 + _globals['_PLAYGROUNDCONSTRAINTS']._serialized_end=8772 + _globals['_MODRULESDEFINITION']._serialized_start=8774 + _globals['_MODRULESDEFINITION']._serialized_end=8836 + _globals['_AVAILABLEGAMEDATA']._serialized_start=8839 + _globals['_AVAILABLEGAMEDATA']._serialized_end=9096 + _globals['_BLUEPRINT']._serialized_start=9099 + _globals['_BLUEPRINT']._serialized_end=9412 + _globals['_SHORTCODE']._serialized_start=9414 + _globals['_SHORTCODE']._serialized_end=9439 + _globals['_GETPROGRESSIONTYPESREQUEST']._serialized_start=9441 + _globals['_GETPROGRESSIONTYPESREQUEST']._serialized_end=9469 + _globals['_BLUEPRINTINFO']._serialized_start=9471 + _globals['_BLUEPRINTINFO']._serialized_end=9530 + _globals['_GETPROGRESSIONTYPESRESPONSE']._serialized_start=9532 + _globals['_GETPROGRESSIONTYPESRESPONSE']._serialized_end=9616 + _globals['_GETSCHEDULEDBLUEPRINTSREQUEST']._serialized_start=9618 + _globals['_GETSCHEDULEDBLUEPRINTSREQUEST']._serialized_end=9649 + _globals['_GETSCHEDULEDBLUEPRINTSRESPONSE']._serialized_start=9651 + _globals['_GETSCHEDULEDBLUEPRINTSRESPONSE']._serialized_end=9738 + _globals['_GETBLUEPRINTSBYIDRESPONSE']._serialized_start=9740 + _globals['_GETBLUEPRINTSBYIDRESPONSE']._serialized_end=9817 + _globals['_GETCONSTRAINTSRESPONSE']._serialized_start=9819 + _globals['_GETCONSTRAINTSRESPONSE']._serialized_end=9909 + _globals['_LISTPLAYGROUNDSBYOWNERRESPONSE']._serialized_start=9911 + _globals['_LISTPLAYGROUNDSBYOWNERRESPONSE']._serialized_end=10012 + _globals['_CREATEPLAYGROUNDREQUEST']._serialized_start=10015 + _globals['_CREATEPLAYGROUNDREQUEST']._serialized_end=10549 + _globals['_UPDATEPLAYGROUNDREQUEST']._serialized_start=10551 + _globals['_UPDATEPLAYGROUNDREQUEST']._serialized_end=10631 + _globals['_DELETEPLAYGROUNDREQUEST']._serialized_start=10633 + _globals['_DELETEPLAYGROUNDREQUEST']._serialized_end=10680 + _globals['_GETPLAYGROUNDREQUEST']._serialized_start=10682 + _globals['_GETPLAYGROUNDREQUEST']._serialized_end=10726 + _globals['_SHAREPLAYGROUNDREQUEST']._serialized_start=10728 + _globals['_SHAREPLAYGROUNDREQUEST']._serialized_end=10774 + _globals['_SHAREPLAYGROUNDRESPONSE']._serialized_start=10776 + _globals['_SHAREPLAYGROUNDRESPONSE']._serialized_end=10851 + _globals['_CREATEPLAYGROUNDRESPONSE']._serialized_start=10853 + _globals['_CREATEPLAYGROUNDRESPONSE']._serialized_end=10947 + _globals['_UPDATEPLAYGROUNDRESPONSE']._serialized_start=10949 + _globals['_UPDATEPLAYGROUNDRESPONSE']._serialized_end=11043 + _globals['_DELETEPLAYGROUNDRESPONSE']._serialized_start=11045 + _globals['_DELETEPLAYGROUNDRESPONSE']._serialized_end=11071 + _globals['_PLAYGROUNDINFORESPONSE']._serialized_start=11073 + _globals['_PLAYGROUNDINFORESPONSE']._serialized_end=11157 + _globals['_COMMUNITYGAMES']._serialized_start=11837 + _globals['_COMMUNITYGAMES']._serialized_end=13016 # @@protoc_insertion_point(module_scope) diff --git a/bfportal_grpc/proto/communitygames_pb2.pyi b/bfportal_grpc/proto/communitygames_pb2.pyi new file mode 100644 index 0000000..53532a5 --- /dev/null +++ b/bfportal_grpc/proto/communitygames_pb2.pyi @@ -0,0 +1,919 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Platform(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN: _ClassVar[Platform] + PC: _ClassVar[Platform] + PS4: _ClassVar[Platform] + XBOXONE: _ClassVar[Platform] + PS5: _ClassVar[Platform] + XBSX: _ClassVar[Platform] + COMMON: _ClassVar[Platform] + +class InputMethods(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + ALL: _ClassVar[InputMethods] + KEYBOARD_MOUSE: _ClassVar[InputMethods] + GAME_CONTROLLER: _ClassVar[InputMethods] + +class IncludeFields(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + AVAILABLE_GAME_DATA: _ClassVar[IncludeFields] + METADATA: _ClassVar[IncludeFields] + CUSTOM_DATA: _ClassVar[IncludeFields] + CONSTRAINTS: _ClassVar[IncludeFields] + AVAILABLE_TAGS: _ClassVar[IncludeFields] + +class State(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + ACTIVE: _ClassVar[State] + ARCHIVED: _ClassVar[State] + +class Category(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + CATEGORY_UNKNOWN: _ClassVar[Category] + CATEGORY_MODE: _ClassVar[Category] + CATEGORY_PACKAGE: _ClassVar[Category] + CATEGORY_GENERAL: _ClassVar[Category] + +class PhantomGameState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + ENABLED: _ClassVar[PhantomGameState] + DISABLED: _ClassVar[PhantomGameState] + +class CapacityType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + AI_BACKFILL: _ClassVar[CapacityType] + AI_STATIC: _ClassVar[CapacityType] + +class RotationBehavior(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + LOOP: _ClassVar[RotationBehavior] + MATCHMAKE: _ClassVar[RotationBehavior] + ONE_MAP: _ClassVar[RotationBehavior] + +class RoundBehavior(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + CONTINUE: _ClassVar[RoundBehavior] + +class BalancingMethod(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNSPECIFIED: _ClassVar[BalancingMethod] + EVEN_NUMBERS: _ClassVar[BalancingMethod] + EVEN_PERCENTAGE: _ClassVar[BalancingMethod] + FILL_IN_TEAM_ORDER: _ClassVar[BalancingMethod] +UNKNOWN: Platform +PC: Platform +PS4: Platform +XBOXONE: Platform +PS5: Platform +XBSX: Platform +COMMON: Platform +ALL: InputMethods +KEYBOARD_MOUSE: InputMethods +GAME_CONTROLLER: InputMethods +AVAILABLE_GAME_DATA: IncludeFields +METADATA: IncludeFields +CUSTOM_DATA: IncludeFields +CONSTRAINTS: IncludeFields +AVAILABLE_TAGS: IncludeFields +ACTIVE: State +ARCHIVED: State +CATEGORY_UNKNOWN: Category +CATEGORY_MODE: Category +CATEGORY_PACKAGE: Category +CATEGORY_GENERAL: Category +ENABLED: PhantomGameState +DISABLED: PhantomGameState +AI_BACKFILL: CapacityType +AI_STATIC: CapacityType +LOOP: RotationBehavior +MATCHMAKE: RotationBehavior +ONE_MAP: RotationBehavior +CONTINUE: RoundBehavior +UNSPECIFIED: BalancingMethod +EVEN_NUMBERS: BalancingMethod +EVEN_PERCENTAGE: BalancingMethod +FILL_IN_TEAM_ORDER: BalancingMethod + +class ProgressionEntry(_message.Message): + __slots__ = ["progressionMode", "progressibles"] + PROGRESSIONMODE_FIELD_NUMBER: _ClassVar[int] + PROGRESSIBLES_FIELD_NUMBER: _ClassVar[int] + progressionMode: str + progressibles: _containers.RepeatedCompositeFieldContainer[Mutator] + def __init__(self, progressionMode: _Optional[str] = ..., progressibles: _Optional[_Iterable[_Union[Mutator, _Mapping]]] = ...) -> None: ... + +class TranslationMetadata(_message.Message): + __slots__ = ["kind", "translationId"] + KIND_FIELD_NUMBER: _ClassVar[int] + TRANSLATIONID_FIELD_NUMBER: _ClassVar[int] + kind: str + translationId: str + def __init__(self, kind: _Optional[str] = ..., translationId: _Optional[str] = ...) -> None: ... + +class ResourceLocation(_message.Message): + __slots__ = ["ref", "url"] + REF_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + ref: str + url: str + def __init__(self, ref: _Optional[str] = ..., url: _Optional[str] = ...) -> None: ... + +class Resource(_message.Message): + __slots__ = ["location", "kind"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + location: ResourceLocation + kind: str + def __init__(self, location: _Optional[_Union[ResourceLocation, _Mapping]] = ..., kind: _Optional[str] = ...) -> None: ... + +class Metadata(_message.Message): + __slots__ = ["translations", "resources"] + TRANSLATIONS_FIELD_NUMBER: _ClassVar[int] + RESOURCES_FIELD_NUMBER: _ClassVar[int] + translations: _containers.RepeatedCompositeFieldContainer[TranslationMetadata] + resources: _containers.RepeatedCompositeFieldContainer[Resource] + def __init__(self, translations: _Optional[_Iterable[_Union[TranslationMetadata, _Mapping]]] = ..., resources: _Optional[_Iterable[_Union[Resource, _Mapping]]] = ...) -> None: ... + +class Tag(_message.Message): + __slots__ = ["id", "sortOrder", "metadata"] + ID_FIELD_NUMBER: _ClassVar[int] + SORTORDER_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + id: str + sortOrder: int + metadata: Metadata + def __init__(self, id: _Optional[str] = ..., sortOrder: _Optional[int] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ...) -> None: ... + +class ProgressionMode(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: str + def __init__(self, value: _Optional[str] = ...) -> None: ... + +class PlaygroundResponse(_message.Message): + __slots__ = ["originalPlayground", "validatedPlayground", "tag", "progressionMode"] + ORIGINALPLAYGROUND_FIELD_NUMBER: _ClassVar[int] + VALIDATEDPLAYGROUND_FIELD_NUMBER: _ClassVar[int] + TAG_FIELD_NUMBER: _ClassVar[int] + PROGRESSIONMODE_FIELD_NUMBER: _ClassVar[int] + originalPlayground: Playground + validatedPlayground: Playground + tag: _containers.RepeatedCompositeFieldContainer[Tag] + progressionMode: ProgressionMode + def __init__(self, originalPlayground: _Optional[_Union[Playground, _Mapping]] = ..., validatedPlayground: _Optional[_Union[Playground, _Mapping]] = ..., tag: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., progressionMode: _Optional[_Union[ProgressionMode, _Mapping]] = ...) -> None: ... + +class MapInfo(_message.Message): + __slots__ = ["mapname", "mode", "gameSize", "rounds", "mutators", "location", "preRoundSize", "warmUpSize", "allowedSpectators"] + MAPNAME_FIELD_NUMBER: _ClassVar[int] + MODE_FIELD_NUMBER: _ClassVar[int] + GAMESIZE_FIELD_NUMBER: _ClassVar[int] + ROUNDS_FIELD_NUMBER: _ClassVar[int] + MUTATORS_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + PREROUNDSIZE_FIELD_NUMBER: _ClassVar[int] + WARMUPSIZE_FIELD_NUMBER: _ClassVar[int] + ALLOWEDSPECTATORS_FIELD_NUMBER: _ClassVar[int] + mapname: str + mode: str + gameSize: int + rounds: int + mutators: Mutator + location: str + preRoundSize: int + warmUpSize: int + allowedSpectators: int + def __init__(self, mapname: _Optional[str] = ..., mode: _Optional[str] = ..., gameSize: _Optional[int] = ..., rounds: _Optional[int] = ..., mutators: _Optional[_Union[Mutator, _Mapping]] = ..., location: _Optional[str] = ..., preRoundSize: _Optional[int] = ..., warmUpSize: _Optional[int] = ..., allowedSpectators: _Optional[int] = ...) -> None: ... + +class MapRotation(_message.Message): + __slots__ = ["maps", "rotationBehavior", "roundBehavior"] + MAPS_FIELD_NUMBER: _ClassVar[int] + ROTATIONBEHAVIOR_FIELD_NUMBER: _ClassVar[int] + ROUNDBEHAVIOR_FIELD_NUMBER: _ClassVar[int] + maps: _containers.RepeatedCompositeFieldContainer[MapInfo] + rotationBehavior: RotationBehavior + roundBehavior: RoundBehavior + def __init__(self, maps: _Optional[_Iterable[_Union[MapInfo, _Mapping]]] = ..., rotationBehavior: _Optional[_Union[RotationBehavior, str]] = ..., roundBehavior: _Optional[_Union[RoundBehavior, str]] = ...) -> None: ... + +class TeamStructure(_message.Message): + __slots__ = ["teamId", "capacity"] + TEAMID_FIELD_NUMBER: _ClassVar[int] + CAPACITY_FIELD_NUMBER: _ClassVar[int] + teamId: int + capacity: int + def __init__(self, teamId: _Optional[int] = ..., capacity: _Optional[int] = ...) -> None: ... + +class InternalTeamStructure(_message.Message): + __slots__ = ["teamId", "capacity", "capacityType"] + TEAMID_FIELD_NUMBER: _ClassVar[int] + CAPACITY_FIELD_NUMBER: _ClassVar[int] + CAPACITYTYPE_FIELD_NUMBER: _ClassVar[int] + teamId: int + capacity: int + capacityType: CapacityType + def __init__(self, teamId: _Optional[int] = ..., capacity: _Optional[int] = ..., capacityType: _Optional[_Union[CapacityType, str]] = ...) -> None: ... + +class MutatorSparseFloatEntry(_message.Message): + __slots__ = ["index", "value"] + INDEX_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + index: int + value: float + def __init__(self, index: _Optional[int] = ..., value: _Optional[float] = ...) -> None: ... + +class MutatorSparseFloat(_message.Message): + __slots__ = ["defaultValue", "size", "sparseValues"] + DEFAULTVALUE_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + SPARSEVALUES_FIELD_NUMBER: _ClassVar[int] + defaultValue: float + size: int + sparseValues: _containers.RepeatedCompositeFieldContainer[MutatorSparseFloatEntry] + def __init__(self, defaultValue: _Optional[float] = ..., size: _Optional[int] = ..., sparseValues: _Optional[_Iterable[_Union[MutatorSparseFloatEntry, _Mapping]]] = ...) -> None: ... + +class MutatorFloat(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: float + def __init__(self, value: _Optional[float] = ...) -> None: ... + +class MutatorBoolean(_message.Message): + __slots__ = ["boolValue"] + BOOLVALUE_FIELD_NUMBER: _ClassVar[int] + boolValue: bool + def __init__(self, boolValue: bool = ...) -> None: ... + +class MutatorString(_message.Message): + __slots__ = ["stringValue"] + STRINGVALUE_FIELD_NUMBER: _ClassVar[int] + stringValue: str + def __init__(self, stringValue: _Optional[str] = ...) -> None: ... + +class MutatorInt(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: int + def __init__(self, value: _Optional[int] = ...) -> None: ... + +class MutatorSparseBooleanEntry(_message.Message): + __slots__ = ["index", "value"] + INDEX_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + index: int + value: bool + def __init__(self, index: _Optional[int] = ..., value: bool = ...) -> None: ... + +class MutatorSparseBoolean(_message.Message): + __slots__ = ["defaultValue", "size", "sparseValues"] + DEFAULTVALUE_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + SPARSEVALUES_FIELD_NUMBER: _ClassVar[int] + defaultValue: bool + size: int + sparseValues: _containers.RepeatedCompositeFieldContainer[MutatorSparseBooleanEntry] + def __init__(self, defaultValue: bool = ..., size: _Optional[int] = ..., sparseValues: _Optional[_Iterable[_Union[MutatorSparseBooleanEntry, _Mapping]]] = ...) -> None: ... + +class SparseIntEntity(_message.Message): + __slots__ = ["values"] + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, values: _Optional[_Iterable[int]] = ...) -> None: ... + +class MutatorSparseIntEntry(_message.Message): + __slots__ = ["index", "value"] + INDEX_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + index: int + value: int + def __init__(self, index: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... + +class MutatorSparseInt(_message.Message): + __slots__ = ["defaultValue", "size", "sparseValues"] + DEFAULTVALUE_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + SPARSEVALUES_FIELD_NUMBER: _ClassVar[int] + defaultValue: int + size: int + sparseValues: MutatorSparseIntEntry + def __init__(self, defaultValue: _Optional[int] = ..., size: _Optional[int] = ..., sparseValues: _Optional[_Union[MutatorSparseIntEntry, _Mapping]] = ...) -> None: ... + +class MutatorKind(_message.Message): + __slots__ = ["mutatorBoolean", "mutatorString", "mutatorFloat", "mutatorInt", "mutatorSparseBoolean", "mutatorSparseInt", "mutatorSparseFloat"] + MUTATORBOOLEAN_FIELD_NUMBER: _ClassVar[int] + MUTATORSTRING_FIELD_NUMBER: _ClassVar[int] + MUTATORFLOAT_FIELD_NUMBER: _ClassVar[int] + MUTATORINT_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEBOOLEAN_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEINT_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEFLOAT_FIELD_NUMBER: _ClassVar[int] + mutatorBoolean: MutatorBoolean + mutatorString: MutatorString + mutatorFloat: MutatorFloat + mutatorInt: MutatorInt + mutatorSparseBoolean: MutatorSparseBoolean + mutatorSparseInt: MutatorSparseInt + mutatorSparseFloat: MutatorSparseFloat + def __init__(self, mutatorBoolean: _Optional[_Union[MutatorBoolean, _Mapping]] = ..., mutatorString: _Optional[_Union[MutatorString, _Mapping]] = ..., mutatorFloat: _Optional[_Union[MutatorFloat, _Mapping]] = ..., mutatorInt: _Optional[_Union[MutatorInt, _Mapping]] = ..., mutatorSparseBoolean: _Optional[_Union[MutatorSparseBoolean, _Mapping]] = ..., mutatorSparseInt: _Optional[_Union[MutatorSparseInt, _Mapping]] = ..., mutatorSparseFloat: _Optional[_Union[MutatorSparseFloat, _Mapping]] = ...) -> None: ... + +class TeamComposition(_message.Message): + __slots__ = ["teams", "internalTeams", "balancingMethod"] + TEAMS_FIELD_NUMBER: _ClassVar[int] + INTERNALTEAMS_FIELD_NUMBER: _ClassVar[int] + BALANCINGMETHOD_FIELD_NUMBER: _ClassVar[int] + teams: TeamStructure + internalTeams: _containers.RepeatedCompositeFieldContainer[InternalTeamStructure] + balancingMethod: BalancingMethod + def __init__(self, teams: _Optional[_Union[TeamStructure, _Mapping]] = ..., internalTeams: _Optional[_Iterable[_Union[InternalTeamStructure, _Mapping]]] = ..., balancingMethod: _Optional[_Union[BalancingMethod, str]] = ...) -> None: ... + +class Mutator(_message.Message): + __slots__ = ["name", "category", "kind", "id"] + NAME_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + ID_FIELD_NUMBER: _ClassVar[int] + name: str + category: str + kind: MutatorKind + id: str + def __init__(self, name: _Optional[str] = ..., category: _Optional[str] = ..., kind: _Optional[_Union[MutatorKind, _Mapping]] = ..., id: _Optional[str] = ...) -> None: ... + +class Timestamp(_message.Message): + __slots__ = ["seconds", "nanos"] + SECONDS_FIELD_NUMBER: _ClassVar[int] + NANOS_FIELD_NUMBER: _ClassVar[int] + seconds: int + nanos: int + def __init__(self, seconds: _Optional[int] = ..., nanos: _Optional[int] = ...) -> None: ... + +class StringValue(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: str + def __init__(self, value: _Optional[str] = ...) -> None: ... + +class GameServerMessage(_message.Message): + __slots__ = ["kind", "text"] + KIND_FIELD_NUMBER: _ClassVar[int] + TEXT_FIELD_NUMBER: _ClassVar[int] + kind: str + text: str + def __init__(self, kind: _Optional[str] = ..., text: _Optional[str] = ...) -> None: ... + +class GameServerSettings(_message.Message): + __slots__ = ["name", "description", "gameServerMessage", "configName", "ConfigDescription", "phantomGameState"] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + GAMESERVERMESSAGE_FIELD_NUMBER: _ClassVar[int] + CONFIGNAME_FIELD_NUMBER: _ClassVar[int] + CONFIGDESCRIPTION_FIELD_NUMBER: _ClassVar[int] + PHANTOMGAMESTATE_FIELD_NUMBER: _ClassVar[int] + name: str + description: StringValue + gameServerMessage: _containers.RepeatedCompositeFieldContainer[GameServerMessage] + configName: StringValue + ConfigDescription: StringValue + phantomGameState: PhantomGameState + def __init__(self, name: _Optional[str] = ..., description: _Optional[_Union[StringValue, _Mapping]] = ..., gameServerMessage: _Optional[_Iterable[_Union[GameServerMessage, _Mapping]]] = ..., configName: _Optional[_Union[StringValue, _Mapping]] = ..., ConfigDescription: _Optional[_Union[StringValue, _Mapping]] = ..., phantomGameState: _Optional[_Union[PhantomGameState, str]] = ...) -> None: ... + +class PlayerInfo(_message.Message): + __slots__ = ["nucleusId", "personaId", "platformId"] + NUCLEUSID_FIELD_NUMBER: _ClassVar[int] + PERSONAID_FIELD_NUMBER: _ClassVar[int] + PLATFORMID_FIELD_NUMBER: _ClassVar[int] + nucleusId: int + personaId: int + platformId: Platform + def __init__(self, nucleusId: _Optional[int] = ..., personaId: _Optional[int] = ..., platformId: _Optional[_Union[Platform, str]] = ...) -> None: ... + +class PlatformRestrictions(_message.Message): + __slots__ = ["platforms"] + PLATFORMS_FIELD_NUMBER: _ClassVar[int] + platforms: _containers.RepeatedScalarFieldContainer[Platform] + def __init__(self, platforms: _Optional[_Iterable[_Union[Platform, str]]] = ...) -> None: ... + +class InputMethodResrictions(_message.Message): + __slots__ = ["inputMethods"] + INPUTMETHODS_FIELD_NUMBER: _ClassVar[int] + inputMethods: _containers.RepeatedScalarFieldContainer[InputMethods] + def __init__(self, inputMethods: _Optional[_Iterable[_Union[InputMethods, str]]] = ...) -> None: ... + +class Restrictions(_message.Message): + __slots__ = ["platformRestrictions", "inputMethodResctrictions"] + PLATFORMRESTRICTIONS_FIELD_NUMBER: _ClassVar[int] + INPUTMETHODRESCTRICTIONS_FIELD_NUMBER: _ClassVar[int] + platformRestrictions: PlatformRestrictions + inputMethodResctrictions: InputMethodResrictions + def __init__(self, platformRestrictions: _Optional[_Union[PlatformRestrictions, _Mapping]] = ..., inputMethodResctrictions: _Optional[_Union[InputMethodResrictions, _Mapping]] = ...) -> None: ... + +class Compressed(_message.Message): + __slots__ = ["compiledModRules", "rulesVersion", "inflatedSize"] + COMPILEDMODRULES_FIELD_NUMBER: _ClassVar[int] + RULESVERSION_FIELD_NUMBER: _ClassVar[int] + INFLATEDSIZE_FIELD_NUMBER: _ClassVar[int] + compiledModRules: bytes + rulesVersion: int + inflatedSize: int + def __init__(self, compiledModRules: _Optional[bytes] = ..., rulesVersion: _Optional[int] = ..., inflatedSize: _Optional[int] = ...) -> None: ... + +class Uncompressed(_message.Message): + __slots__ = ["compiledModRules", "rulesVersion"] + COMPILEDMODRULES_FIELD_NUMBER: _ClassVar[int] + RULESVERSION_FIELD_NUMBER: _ClassVar[int] + compiledModRules: bytes + rulesVersion: int + def __init__(self, compiledModRules: _Optional[bytes] = ..., rulesVersion: _Optional[int] = ...) -> None: ... + +class CompiledRules(_message.Message): + __slots__ = ["uncompressed", "compressed"] + UNCOMPRESSED_FIELD_NUMBER: _ClassVar[int] + COMPRESSED_FIELD_NUMBER: _ClassVar[int] + uncompressed: Uncompressed + compressed: Compressed + def __init__(self, uncompressed: _Optional[_Union[Uncompressed, _Mapping]] = ..., compressed: _Optional[_Union[Compressed, _Mapping]] = ...) -> None: ... + +class CompatibleModRules(_message.Message): + __slots__ = ["rules", "rulesVersion", "compiled"] + RULES_FIELD_NUMBER: _ClassVar[int] + RULESVERSION_FIELD_NUMBER: _ClassVar[int] + COMPILED_FIELD_NUMBER: _ClassVar[int] + rules: bytes + rulesVersion: int + compiled: CompiledRules + def __init__(self, rules: _Optional[bytes] = ..., rulesVersion: _Optional[int] = ..., compiled: _Optional[_Union[CompiledRules, _Mapping]] = ...) -> None: ... + +class InCompatibleModRules(_message.Message): + __slots__ = ["rules", "rulesVersion", "blueprintRulesVersion"] + RULES_FIELD_NUMBER: _ClassVar[int] + RULESVERSION_FIELD_NUMBER: _ClassVar[int] + BLUEPRINTRULESVERSION_FIELD_NUMBER: _ClassVar[int] + rules: bytes + rulesVersion: int + blueprintRulesVersion: int + def __init__(self, rules: _Optional[bytes] = ..., rulesVersion: _Optional[int] = ..., blueprintRulesVersion: _Optional[int] = ...) -> None: ... + +class OriginalModRules(_message.Message): + __slots__ = ["compatibleRules", "incompatibleRules"] + COMPATIBLERULES_FIELD_NUMBER: _ClassVar[int] + INCOMPATIBLERULES_FIELD_NUMBER: _ClassVar[int] + compatibleRules: CompatibleModRules + incompatibleRules: InCompatibleModRules + def __init__(self, compatibleRules: _Optional[_Union[CompatibleModRules, _Mapping]] = ..., incompatibleRules: _Optional[_Union[InCompatibleModRules, _Mapping]] = ...) -> None: ... + +class AssetCategoryTagBooleanOverride(_message.Message): + __slots__ = ["assetCategoryTags", "value"] + ASSETCATEGORYTAGS_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + assetCategoryTags: _containers.RepeatedScalarFieldContainer[str] + value: bool + def __init__(self, assetCategoryTags: _Optional[_Iterable[str]] = ..., value: bool = ...) -> None: ... + +class AssetCategoryTagBooleanTeamOverride(_message.Message): + __slots__ = ["assetCategoryTags", "value", "teamId"] + ASSETCATEGORYTAGS_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + TEAMID_FIELD_NUMBER: _ClassVar[int] + assetCategoryTags: _containers.RepeatedScalarFieldContainer[str] + value: bool + teamId: int + def __init__(self, assetCategoryTags: _Optional[_Iterable[str]] = ..., value: bool = ..., teamId: _Optional[int] = ...) -> None: ... + +class AssetCategoryBoolean(_message.Message): + __slots__ = ["defaultValue", "overrides", "teamOverrides"] + DEFAULTVALUE_FIELD_NUMBER: _ClassVar[int] + OVERRIDES_FIELD_NUMBER: _ClassVar[int] + TEAMOVERRIDES_FIELD_NUMBER: _ClassVar[int] + defaultValue: bool + overrides: AssetCategoryTagBooleanOverride + teamOverrides: _containers.RepeatedCompositeFieldContainer[AssetCategoryTagBooleanTeamOverride] + def __init__(self, defaultValue: bool = ..., overrides: _Optional[_Union[AssetCategoryTagBooleanOverride, _Mapping]] = ..., teamOverrides: _Optional[_Iterable[_Union[AssetCategoryTagBooleanTeamOverride, _Mapping]]] = ...) -> None: ... + +class AssetCategory(_message.Message): + __slots__ = ["tagId", "boolean"] + TAGID_FIELD_NUMBER: _ClassVar[int] + BOOLEAN_FIELD_NUMBER: _ClassVar[int] + tagId: str + boolean: AssetCategoryBoolean + def __init__(self, tagId: _Optional[str] = ..., boolean: _Optional[_Union[AssetCategoryBoolean, _Mapping]] = ...) -> None: ... + +class Playground(_message.Message): + __slots__ = ["playgroundId", "blueprintType", "name", "description", "mutators", "mapRotation", "state", "checksum", "secret", "createdAt", "updatedAt", "serverSettings", "owner", "restrictions", "modRules", "assetCategories", "teamComposition"] + PLAYGROUNDID_FIELD_NUMBER: _ClassVar[int] + BLUEPRINTTYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + MUTATORS_FIELD_NUMBER: _ClassVar[int] + MAPROTATION_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + CHECKSUM_FIELD_NUMBER: _ClassVar[int] + SECRET_FIELD_NUMBER: _ClassVar[int] + CREATEDAT_FIELD_NUMBER: _ClassVar[int] + UPDATEDAT_FIELD_NUMBER: _ClassVar[int] + SERVERSETTINGS_FIELD_NUMBER: _ClassVar[int] + OWNER_FIELD_NUMBER: _ClassVar[int] + RESTRICTIONS_FIELD_NUMBER: _ClassVar[int] + MODRULES_FIELD_NUMBER: _ClassVar[int] + ASSETCATEGORIES_FIELD_NUMBER: _ClassVar[int] + TEAMCOMPOSITION_FIELD_NUMBER: _ClassVar[int] + playgroundId: str + blueprintType: str + name: str + description: str + mutators: _containers.RepeatedCompositeFieldContainer[Mutator] + mapRotation: MapRotation + state: State + checksum: str + secret: str + createdAt: Timestamp + updatedAt: Timestamp + serverSettings: GameServerSettings + owner: PlayerInfo + restrictions: Restrictions + modRules: OriginalModRules + assetCategories: _containers.RepeatedCompositeFieldContainer[AssetCategory] + teamComposition: TeamComposition + def __init__(self, playgroundId: _Optional[str] = ..., blueprintType: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., mutators: _Optional[_Iterable[_Union[Mutator, _Mapping]]] = ..., mapRotation: _Optional[_Union[MapRotation, _Mapping]] = ..., state: _Optional[_Union[State, str]] = ..., checksum: _Optional[str] = ..., secret: _Optional[str] = ..., createdAt: _Optional[_Union[Timestamp, _Mapping]] = ..., updatedAt: _Optional[_Union[Timestamp, _Mapping]] = ..., serverSettings: _Optional[_Union[GameServerSettings, _Mapping]] = ..., owner: _Optional[_Union[PlayerInfo, _Mapping]] = ..., restrictions: _Optional[_Union[Restrictions, _Mapping]] = ..., modRules: _Optional[_Union[OriginalModRules, _Mapping]] = ..., assetCategories: _Optional[_Iterable[_Union[AssetCategory, _Mapping]]] = ..., teamComposition: _Optional[_Union[TeamComposition, _Mapping]] = ...) -> None: ... + +class ListPlaygroundsByOwnerRequest(_message.Message): + __slots__ = ["blueprintType"] + BLUEPRINTTYPE_FIELD_NUMBER: _ClassVar[int] + blueprintType: str + def __init__(self, blueprintType: _Optional[str] = ...) -> None: ... + +class GetConstraintsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetBlueprintsByIdRequest(_message.Message): + __slots__ = ["blueprintIds", "includeFields"] + BLUEPRINTIDS_FIELD_NUMBER: _ClassVar[int] + INCLUDEFIELDS_FIELD_NUMBER: _ClassVar[int] + blueprintIds: _containers.RepeatedScalarFieldContainer[str] + includeFields: _containers.RepeatedScalarFieldContainer[IncludeFields] + def __init__(self, blueprintIds: _Optional[_Iterable[str]] = ..., includeFields: _Optional[_Iterable[_Union[IncludeFields, str]]] = ...) -> None: ... + +class GlobalConstraints(_message.Message): + __slots__ = ["maxPlaygroundsPerPlayer", "maxGameServersPerPlayer", "maxFollowedHostsListSize"] + MAXPLAYGROUNDSPERPLAYER_FIELD_NUMBER: _ClassVar[int] + MAXGAMESERVERSPERPLAYER_FIELD_NUMBER: _ClassVar[int] + MAXFOLLOWEDHOSTSLISTSIZE_FIELD_NUMBER: _ClassVar[int] + maxPlaygroundsPerPlayer: int + maxGameServersPerPlayer: int + maxFollowedHostsListSize: int + def __init__(self, maxPlaygroundsPerPlayer: _Optional[int] = ..., maxGameServersPerPlayer: _Optional[int] = ..., maxFollowedHostsListSize: _Optional[int] = ...) -> None: ... + +class IntRange(_message.Message): + __slots__ = ["minValue", "maxValue"] + MINVALUE_FIELD_NUMBER: _ClassVar[int] + MAXVALUE_FIELD_NUMBER: _ClassVar[int] + minValue: int + maxValue: int + def __init__(self, minValue: _Optional[int] = ..., maxValue: _Optional[int] = ...) -> None: ... + +class AvailableIntValues(_message.Message): + __slots__ = ["range", "sparseValues"] + RANGE_FIELD_NUMBER: _ClassVar[int] + SPARSEVALUES_FIELD_NUMBER: _ClassVar[int] + range: IntRange + sparseValues: SparseIntEntity + def __init__(self, range: _Optional[_Union[IntRange, _Mapping]] = ..., sparseValues: _Optional[_Union[SparseIntEntity, _Mapping]] = ...) -> None: ... + +class AvailableIntValue(_message.Message): + __slots__ = ["defaultValue", "availableValues"] + DEFAULTVALUE_FIELD_NUMBER: _ClassVar[int] + AVAILABLEVALUES_FIELD_NUMBER: _ClassVar[int] + defaultValue: int + availableValues: AvailableIntValues + def __init__(self, defaultValue: _Optional[int] = ..., availableValues: _Optional[_Union[AvailableIntValues, _Mapping]] = ...) -> None: ... + +class SparseFloatValues(_message.Message): + __slots__ = ["values"] + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, values: _Optional[_Iterable[float]] = ...) -> None: ... + +class FloatRange(_message.Message): + __slots__ = ["minValue", "maxValue"] + MINVALUE_FIELD_NUMBER: _ClassVar[int] + MAXVALUE_FIELD_NUMBER: _ClassVar[int] + minValue: float + maxValue: float + def __init__(self, minValue: _Optional[float] = ..., maxValue: _Optional[float] = ...) -> None: ... + +class AvailableFloatValues(_message.Message): + __slots__ = ["range", "sparseValues"] + RANGE_FIELD_NUMBER: _ClassVar[int] + SPARSEVALUES_FIELD_NUMBER: _ClassVar[int] + range: FloatRange + sparseValues: SparseFloatValues + def __init__(self, range: _Optional[_Union[FloatRange, _Mapping]] = ..., sparseValues: _Optional[_Union[SparseFloatValues, _Mapping]] = ...) -> None: ... + +class AvailableMutatorFloatValues(_message.Message): + __slots__ = ["mutator", "availableValues"] + MUTATOR_FIELD_NUMBER: _ClassVar[int] + AVAILABLEVALUES_FIELD_NUMBER: _ClassVar[int] + mutator: MutatorFloat + availableValues: AvailableFloatValues + def __init__(self, mutator: _Optional[_Union[MutatorFloat, _Mapping]] = ..., availableValues: _Optional[_Union[AvailableFloatValues, _Mapping]] = ...) -> None: ... + +class AvailableMutatorIntValues(_message.Message): + __slots__ = ["mutator", "availableValues"] + MUTATOR_FIELD_NUMBER: _ClassVar[int] + AVAILABLEVALUES_FIELD_NUMBER: _ClassVar[int] + mutator: MutatorInt + availableValues: AvailableIntValues + def __init__(self, mutator: _Optional[_Union[MutatorInt, _Mapping]] = ..., availableValues: _Optional[_Union[AvailableIntValues, _Mapping]] = ...) -> None: ... + +class AvailableMutatorSparseIntValues(_message.Message): + __slots__ = ["mutator", "availableValues"] + MUTATOR_FIELD_NUMBER: _ClassVar[int] + AVAILABLEVALUES_FIELD_NUMBER: _ClassVar[int] + mutator: MutatorSparseInt + availableValues: AvailableIntValues + def __init__(self, mutator: _Optional[_Union[MutatorSparseInt, _Mapping]] = ..., availableValues: _Optional[_Union[AvailableIntValues, _Mapping]] = ...) -> None: ... + +class AvailableMutatorSparseFloatValues(_message.Message): + __slots__ = ["mutator", "availableValues"] + MUTATOR_FIELD_NUMBER: _ClassVar[int] + AVAILABLEVALUES_FIELD_NUMBER: _ClassVar[int] + mutator: MutatorSparseFloat + availableValues: AvailableFloatValues + def __init__(self, mutator: _Optional[_Union[MutatorSparseFloat, _Mapping]] = ..., availableValues: _Optional[_Union[AvailableFloatValues, _Mapping]] = ...) -> None: ... + +class AvailableMutatorKind(_message.Message): + __slots__ = ["mutatorBoolean", "mutatorString", "mutatorFloatValues", "mutatorIntValues", "mutatorSparseBoolean", "mutatorSparseIntValues", "mutatorSparseFloatValues"] + MUTATORBOOLEAN_FIELD_NUMBER: _ClassVar[int] + MUTATORSTRING_FIELD_NUMBER: _ClassVar[int] + MUTATORFLOATVALUES_FIELD_NUMBER: _ClassVar[int] + MUTATORINTVALUES_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEBOOLEAN_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEINTVALUES_FIELD_NUMBER: _ClassVar[int] + MUTATORSPARSEFLOATVALUES_FIELD_NUMBER: _ClassVar[int] + mutatorBoolean: MutatorBoolean + mutatorString: MutatorString + mutatorFloatValues: AvailableMutatorFloatValues + mutatorIntValues: AvailableMutatorIntValues + mutatorSparseBoolean: MutatorSparseBoolean + mutatorSparseIntValues: AvailableMutatorSparseIntValues + mutatorSparseFloatValues: AvailableMutatorSparseFloatValues + def __init__(self, mutatorBoolean: _Optional[_Union[MutatorBoolean, _Mapping]] = ..., mutatorString: _Optional[_Union[MutatorString, _Mapping]] = ..., mutatorFloatValues: _Optional[_Union[AvailableMutatorFloatValues, _Mapping]] = ..., mutatorIntValues: _Optional[_Union[AvailableMutatorIntValues, _Mapping]] = ..., mutatorSparseBoolean: _Optional[_Union[MutatorSparseBoolean, _Mapping]] = ..., mutatorSparseIntValues: _Optional[_Union[AvailableMutatorSparseIntValues, _Mapping]] = ..., mutatorSparseFloatValues: _Optional[_Union[AvailableMutatorSparseFloatValues, _Mapping]] = ...) -> None: ... + +class AvailableMutator(_message.Message): + __slots__ = ["name", "category", "kind", "metadata", "id"] + NAME_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + ID_FIELD_NUMBER: _ClassVar[int] + name: str + category: str + kind: AvailableMutatorKind + metadata: Metadata + id: str + def __init__(self, name: _Optional[str] = ..., category: _Optional[str] = ..., kind: _Optional[_Union[AvailableMutatorKind, _Mapping]] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ..., id: _Optional[str] = ...) -> None: ... + +class AvailableMapEntry(_message.Message): + __slots__ = ["levelName", "gameMode", "levelLocation", "gameSize", "rounds", "preRoundSize", "warmUpSize", "allowedSpectators", "mutators", "metadata"] + LEVELNAME_FIELD_NUMBER: _ClassVar[int] + GAMEMODE_FIELD_NUMBER: _ClassVar[int] + LEVELLOCATION_FIELD_NUMBER: _ClassVar[int] + GAMESIZE_FIELD_NUMBER: _ClassVar[int] + ROUNDS_FIELD_NUMBER: _ClassVar[int] + PREROUNDSIZE_FIELD_NUMBER: _ClassVar[int] + WARMUPSIZE_FIELD_NUMBER: _ClassVar[int] + ALLOWEDSPECTATORS_FIELD_NUMBER: _ClassVar[int] + MUTATORS_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + levelName: str + gameMode: str + levelLocation: str + gameSize: AvailableIntValue + rounds: AvailableIntValue + preRoundSize: AvailableIntValue + warmUpSize: AvailableIntValue + allowedSpectators: AvailableIntValue + mutators: _containers.RepeatedCompositeFieldContainer[AvailableMutator] + metadata: _containers.RepeatedCompositeFieldContainer[Metadata] + def __init__(self, levelName: _Optional[str] = ..., gameMode: _Optional[str] = ..., levelLocation: _Optional[str] = ..., gameSize: _Optional[_Union[AvailableIntValue, _Mapping]] = ..., rounds: _Optional[_Union[AvailableIntValue, _Mapping]] = ..., preRoundSize: _Optional[_Union[AvailableIntValue, _Mapping]] = ..., warmUpSize: _Optional[_Union[AvailableIntValue, _Mapping]] = ..., allowedSpectators: _Optional[_Union[AvailableIntValue, _Mapping]] = ..., mutators: _Optional[_Iterable[_Union[AvailableMutator, _Mapping]]] = ..., metadata: _Optional[_Iterable[_Union[Metadata, _Mapping]]] = ...) -> None: ... + +class AvailableTag(_message.Message): + __slots__ = ["id", "metadata", "category"] + ID_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + id: str + metadata: Metadata + category: Category + def __init__(self, id: _Optional[str] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ..., category: _Optional[_Union[Category, str]] = ...) -> None: ... + +class AvailableAssetCategoryTag(_message.Message): + __slots__ = ["tagId", "name", "childrenTags", "metadata"] + TAGID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CHILDRENTAGS_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + tagId: str + name: str + childrenTags: _containers.RepeatedScalarFieldContainer[str] + metadata: Metadata + def __init__(self, tagId: _Optional[str] = ..., name: _Optional[str] = ..., childrenTags: _Optional[_Iterable[str]] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ...) -> None: ... + +class AvailableAssetCategories(_message.Message): + __slots__ = ["rootTags", "tags"] + ROOTTAGS_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] + rootTags: _containers.RepeatedCompositeFieldContainer[AvailableAssetCategoryTag] + tags: _containers.RepeatedCompositeFieldContainer[AvailableAssetCategoryTag] + def __init__(self, rootTags: _Optional[_Iterable[_Union[AvailableAssetCategoryTag, _Mapping]]] = ..., tags: _Optional[_Iterable[_Union[AvailableAssetCategoryTag, _Mapping]]] = ...) -> None: ... + +class PlaygroundConstraints(_message.Message): + __slots__ = ["maxNameSize", "maxDescriptionSize", "maxSecretSize", "maxMapsInRotation", "maxMutators", "maxConfigNameSize", "maxConfigDescriptionSize"] + MAXNAMESIZE_FIELD_NUMBER: _ClassVar[int] + MAXDESCRIPTIONSIZE_FIELD_NUMBER: _ClassVar[int] + MAXSECRETSIZE_FIELD_NUMBER: _ClassVar[int] + MAXMAPSINROTATION_FIELD_NUMBER: _ClassVar[int] + MAXMUTATORS_FIELD_NUMBER: _ClassVar[int] + MAXCONFIGNAMESIZE_FIELD_NUMBER: _ClassVar[int] + MAXCONFIGDESCRIPTIONSIZE_FIELD_NUMBER: _ClassVar[int] + maxNameSize: int + maxDescriptionSize: int + maxSecretSize: int + maxMapsInRotation: int + maxMutators: int + maxConfigNameSize: int + maxConfigDescriptionSize: int + def __init__(self, maxNameSize: _Optional[int] = ..., maxDescriptionSize: _Optional[int] = ..., maxSecretSize: _Optional[int] = ..., maxMapsInRotation: _Optional[int] = ..., maxMutators: _Optional[int] = ..., maxConfigNameSize: _Optional[int] = ..., maxConfigDescriptionSize: _Optional[int] = ...) -> None: ... + +class ModRulesDefinition(_message.Message): + __slots__ = ["rulesVersion", "modBuilder"] + RULESVERSION_FIELD_NUMBER: _ClassVar[int] + MODBUILDER_FIELD_NUMBER: _ClassVar[int] + rulesVersion: int + modBuilder: bytes + def __init__(self, rulesVersion: _Optional[int] = ..., modBuilder: _Optional[bytes] = ...) -> None: ... + +class AvailableGameData(_message.Message): + __slots__ = ["mutators", "maps", "modRules", "assetCategories"] + MUTATORS_FIELD_NUMBER: _ClassVar[int] + MAPS_FIELD_NUMBER: _ClassVar[int] + MODRULES_FIELD_NUMBER: _ClassVar[int] + ASSETCATEGORIES_FIELD_NUMBER: _ClassVar[int] + mutators: _containers.RepeatedCompositeFieldContainer[AvailableMutator] + maps: _containers.RepeatedCompositeFieldContainer[AvailableMapEntry] + modRules: ModRulesDefinition + assetCategories: AvailableAssetCategories + def __init__(self, mutators: _Optional[_Iterable[_Union[AvailableMutator, _Mapping]]] = ..., maps: _Optional[_Iterable[_Union[AvailableMapEntry, _Mapping]]] = ..., modRules: _Optional[_Union[ModRulesDefinition, _Mapping]] = ..., assetCategories: _Optional[_Union[AvailableAssetCategories, _Mapping]] = ...) -> None: ... + +class Blueprint(_message.Message): + __slots__ = ["blueprintType", "name", "availableGameData", "metadata", "customData", "playgroundConstraints", "availableTags"] + BLUEPRINTTYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + AVAILABLEGAMEDATA_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + CUSTOMDATA_FIELD_NUMBER: _ClassVar[int] + PLAYGROUNDCONSTRAINTS_FIELD_NUMBER: _ClassVar[int] + AVAILABLETAGS_FIELD_NUMBER: _ClassVar[int] + blueprintType: str + name: str + availableGameData: AvailableGameData + metadata: Metadata + customData: bytes + playgroundConstraints: PlaygroundConstraints + availableTags: _containers.RepeatedCompositeFieldContainer[AvailableTag] + def __init__(self, blueprintType: _Optional[str] = ..., name: _Optional[str] = ..., availableGameData: _Optional[_Union[AvailableGameData, _Mapping]] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ..., customData: _Optional[bytes] = ..., playgroundConstraints: _Optional[_Union[PlaygroundConstraints, _Mapping]] = ..., availableTags: _Optional[_Iterable[_Union[AvailableTag, _Mapping]]] = ...) -> None: ... + +class ShortCode(_message.Message): + __slots__ = ["code"] + CODE_FIELD_NUMBER: _ClassVar[int] + code: str + def __init__(self, code: _Optional[str] = ...) -> None: ... + +class GetProgressionTypesRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class BlueprintInfo(_message.Message): + __slots__ = ["blueprintType", "blueprintId"] + BLUEPRINTTYPE_FIELD_NUMBER: _ClassVar[int] + BLUEPRINTID_FIELD_NUMBER: _ClassVar[int] + blueprintType: str + blueprintId: str + def __init__(self, blueprintType: _Optional[str] = ..., blueprintId: _Optional[str] = ...) -> None: ... + +class GetProgressionTypesResponse(_message.Message): + __slots__ = ["entries"] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + entries: _containers.RepeatedCompositeFieldContainer[ProgressionEntry] + def __init__(self, entries: _Optional[_Iterable[_Union[ProgressionEntry, _Mapping]]] = ...) -> None: ... + +class GetScheduledBlueprintsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetScheduledBlueprintsResponse(_message.Message): + __slots__ = ["blueprints"] + BLUEPRINTS_FIELD_NUMBER: _ClassVar[int] + blueprints: BlueprintInfo + def __init__(self, blueprints: _Optional[_Union[BlueprintInfo, _Mapping]] = ...) -> None: ... + +class GetBlueprintsByIdResponse(_message.Message): + __slots__ = ["blueprint"] + BLUEPRINT_FIELD_NUMBER: _ClassVar[int] + blueprint: _containers.RepeatedCompositeFieldContainer[Blueprint] + def __init__(self, blueprint: _Optional[_Iterable[_Union[Blueprint, _Mapping]]] = ...) -> None: ... + +class GetConstraintsResponse(_message.Message): + __slots__ = ["globalConstraints"] + GLOBALCONSTRAINTS_FIELD_NUMBER: _ClassVar[int] + globalConstraints: GlobalConstraints + def __init__(self, globalConstraints: _Optional[_Union[GlobalConstraints, _Mapping]] = ...) -> None: ... + +class ListPlaygroundsByOwnerResponse(_message.Message): + __slots__ = ["playgroundResponses"] + PLAYGROUNDRESPONSES_FIELD_NUMBER: _ClassVar[int] + playgroundResponses: _containers.RepeatedCompositeFieldContainer[PlaygroundResponse] + def __init__(self, playgroundResponses: _Optional[_Iterable[_Union[PlaygroundResponse, _Mapping]]] = ...) -> None: ... + +class CreatePlaygroundRequest(_message.Message): + __slots__ = ["blueprintType", "name", "description", "mutators", "mapRotation", "secret", "serverSettings", "restrictions", "originalModRules", "assetCategories", "teamComposition"] + BLUEPRINTTYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + MUTATORS_FIELD_NUMBER: _ClassVar[int] + MAPROTATION_FIELD_NUMBER: _ClassVar[int] + SECRET_FIELD_NUMBER: _ClassVar[int] + SERVERSETTINGS_FIELD_NUMBER: _ClassVar[int] + RESTRICTIONS_FIELD_NUMBER: _ClassVar[int] + ORIGINALMODRULES_FIELD_NUMBER: _ClassVar[int] + ASSETCATEGORIES_FIELD_NUMBER: _ClassVar[int] + TEAMCOMPOSITION_FIELD_NUMBER: _ClassVar[int] + blueprintType: str + name: str + description: StringValue + mutators: _containers.RepeatedCompositeFieldContainer[Mutator] + mapRotation: MapRotation + secret: StringValue + serverSettings: GameServerSettings + restrictions: Restrictions + originalModRules: bytes + assetCategories: _containers.RepeatedCompositeFieldContainer[AssetCategory] + teamComposition: TeamComposition + def __init__(self, blueprintType: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[_Union[StringValue, _Mapping]] = ..., mutators: _Optional[_Iterable[_Union[Mutator, _Mapping]]] = ..., mapRotation: _Optional[_Union[MapRotation, _Mapping]] = ..., secret: _Optional[_Union[StringValue, _Mapping]] = ..., serverSettings: _Optional[_Union[GameServerSettings, _Mapping]] = ..., restrictions: _Optional[_Union[Restrictions, _Mapping]] = ..., originalModRules: _Optional[bytes] = ..., assetCategories: _Optional[_Iterable[_Union[AssetCategory, _Mapping]]] = ..., teamComposition: _Optional[_Union[TeamComposition, _Mapping]] = ...) -> None: ... + +class UpdatePlaygroundRequest(_message.Message): + __slots__ = ["newPlayground"] + NEWPLAYGROUND_FIELD_NUMBER: _ClassVar[int] + newPlayground: Playground + def __init__(self, newPlayground: _Optional[_Union[Playground, _Mapping]] = ...) -> None: ... + +class DeletePlaygroundRequest(_message.Message): + __slots__ = ["playgroundId"] + PLAYGROUNDID_FIELD_NUMBER: _ClassVar[int] + playgroundId: str + def __init__(self, playgroundId: _Optional[str] = ...) -> None: ... + +class GetPlaygroundRequest(_message.Message): + __slots__ = ["playgroundId"] + PLAYGROUNDID_FIELD_NUMBER: _ClassVar[int] + playgroundId: str + def __init__(self, playgroundId: _Optional[str] = ...) -> None: ... + +class SharePlaygroundRequest(_message.Message): + __slots__ = ["playgroundId"] + PLAYGROUNDID_FIELD_NUMBER: _ClassVar[int] + playgroundId: str + def __init__(self, playgroundId: _Optional[str] = ...) -> None: ... + +class SharePlaygroundResponse(_message.Message): + __slots__ = ["shortCode"] + SHORTCODE_FIELD_NUMBER: _ClassVar[int] + shortCode: ShortCode + def __init__(self, shortCode: _Optional[_Union[ShortCode, _Mapping]] = ...) -> None: ... + +class CreatePlaygroundResponse(_message.Message): + __slots__ = ["playgroundResponse"] + PLAYGROUNDRESPONSE_FIELD_NUMBER: _ClassVar[int] + playgroundResponse: PlaygroundResponse + def __init__(self, playgroundResponse: _Optional[_Union[PlaygroundResponse, _Mapping]] = ...) -> None: ... + +class UpdatePlaygroundResponse(_message.Message): + __slots__ = ["playgroundResponse"] + PLAYGROUNDRESPONSE_FIELD_NUMBER: _ClassVar[int] + playgroundResponse: PlaygroundResponse + def __init__(self, playgroundResponse: _Optional[_Union[PlaygroundResponse, _Mapping]] = ...) -> None: ... + +class DeletePlaygroundResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class PlaygroundInfoResponse(_message.Message): + __slots__ = ["playground"] + PLAYGROUND_FIELD_NUMBER: _ClassVar[int] + playground: PlaygroundResponse + def __init__(self, playground: _Optional[_Union[PlaygroundResponse, _Mapping]] = ...) -> None: ... diff --git a/bfportal_grpc/proto/communitygames_pb2_grpc.py b/bfportal_grpc/proto/communitygames_pb2_grpc.py index 51b957b..5efd72d 100644 --- a/bfportal_grpc/proto/communitygames_pb2_grpc.py +++ b/bfportal_grpc/proto/communitygames_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import communitygames_pb2 as proto_dot_communitygames__pb2 +import communitygames_pb2 as communitygames__pb2 class CommunityGamesStub(object): @@ -16,53 +16,53 @@ def __init__(self, channel): """ self.createPlayground = channel.unary_unary( '/web.communitygames.CommunityGames/createPlayground', - request_serializer=proto_dot_communitygames__pb2.CreatePlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.CreatePlaygroundResponse.FromString, + request_serializer=communitygames__pb2.CreatePlaygroundRequest.SerializeToString, + response_deserializer=communitygames__pb2.CreatePlaygroundResponse.FromString, ) self.updatePlayground = channel.unary_unary( '/web.communitygames.CommunityGames/updatePlayground', - request_serializer=proto_dot_communitygames__pb2.UpdatePlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.UpdatePlaygroundResponse.FromString, + request_serializer=communitygames__pb2.UpdatePlaygroundRequest.SerializeToString, + response_deserializer=communitygames__pb2.UpdatePlaygroundResponse.FromString, ) self.deletePlayground = channel.unary_unary( '/web.communitygames.CommunityGames/deletePlayground', - request_serializer=proto_dot_communitygames__pb2.DeletePlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.DeletePlaygroundResponse.FromString, + request_serializer=communitygames__pb2.DeletePlaygroundRequest.SerializeToString, + response_deserializer=communitygames__pb2.DeletePlaygroundResponse.FromString, ) self.getPlayground = channel.unary_unary( '/web.communitygames.CommunityGames/getPlayground', - request_serializer=proto_dot_communitygames__pb2.GetPlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.PlaygroundInfoResponse.FromString, + request_serializer=communitygames__pb2.GetPlaygroundRequest.SerializeToString, + response_deserializer=communitygames__pb2.PlaygroundInfoResponse.FromString, ) self.listPlaygroundsByOwner = channel.unary_unary( '/web.communitygames.CommunityGames/listPlaygroundsByOwner', - request_serializer=proto_dot_communitygames__pb2.ListPlaygroundsByOwnerRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.ListPlaygroundsByOwnerResponse.FromString, + request_serializer=communitygames__pb2.ListPlaygroundsByOwnerRequest.SerializeToString, + response_deserializer=communitygames__pb2.ListPlaygroundsByOwnerResponse.FromString, ) self.getBlueprintsById = channel.unary_unary( '/web.communitygames.CommunityGames/getBlueprintsById', - request_serializer=proto_dot_communitygames__pb2.GetBlueprintsByIdRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.GetBlueprintsByIdResponse.FromString, + request_serializer=communitygames__pb2.GetBlueprintsByIdRequest.SerializeToString, + response_deserializer=communitygames__pb2.GetBlueprintsByIdResponse.FromString, ) self.getScheduledBlueprints = channel.unary_unary( '/web.communitygames.CommunityGames/getScheduledBlueprints', - request_serializer=proto_dot_communitygames__pb2.GetScheduledBlueprintsRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.GetScheduledBlueprintsResponse.FromString, + request_serializer=communitygames__pb2.GetScheduledBlueprintsRequest.SerializeToString, + response_deserializer=communitygames__pb2.GetScheduledBlueprintsResponse.FromString, ) self.getConstraints = channel.unary_unary( '/web.communitygames.CommunityGames/getConstraints', - request_serializer=proto_dot_communitygames__pb2.GetConstraintsRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.GetConstraintsResponse.FromString, + request_serializer=communitygames__pb2.GetConstraintsRequest.SerializeToString, + response_deserializer=communitygames__pb2.GetConstraintsResponse.FromString, ) self.sharePlayground = channel.unary_unary( '/web.communitygames.CommunityGames/sharePlayground', - request_serializer=proto_dot_communitygames__pb2.SharePlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.SharePlaygroundResponse.FromString, + request_serializer=communitygames__pb2.SharePlaygroundRequest.SerializeToString, + response_deserializer=communitygames__pb2.SharePlaygroundResponse.FromString, ) self.getProgressionTypes = channel.unary_unary( '/web.communitygames.CommunityGames/getProgressionTypes', - request_serializer=proto_dot_communitygames__pb2.GetProgressionTypesRequest.SerializeToString, - response_deserializer=proto_dot_communitygames__pb2.GetProgressionTypesResponse.FromString, + request_serializer=communitygames__pb2.GetProgressionTypesRequest.SerializeToString, + response_deserializer=communitygames__pb2.GetProgressionTypesResponse.FromString, ) @@ -134,53 +134,53 @@ def add_CommunityGamesServicer_to_server(servicer, server): rpc_method_handlers = { 'createPlayground': grpc.unary_unary_rpc_method_handler( servicer.createPlayground, - request_deserializer=proto_dot_communitygames__pb2.CreatePlaygroundRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.CreatePlaygroundResponse.SerializeToString, + request_deserializer=communitygames__pb2.CreatePlaygroundRequest.FromString, + response_serializer=communitygames__pb2.CreatePlaygroundResponse.SerializeToString, ), 'updatePlayground': grpc.unary_unary_rpc_method_handler( servicer.updatePlayground, - request_deserializer=proto_dot_communitygames__pb2.UpdatePlaygroundRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.UpdatePlaygroundResponse.SerializeToString, + request_deserializer=communitygames__pb2.UpdatePlaygroundRequest.FromString, + response_serializer=communitygames__pb2.UpdatePlaygroundResponse.SerializeToString, ), 'deletePlayground': grpc.unary_unary_rpc_method_handler( servicer.deletePlayground, - request_deserializer=proto_dot_communitygames__pb2.DeletePlaygroundRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.DeletePlaygroundResponse.SerializeToString, + request_deserializer=communitygames__pb2.DeletePlaygroundRequest.FromString, + response_serializer=communitygames__pb2.DeletePlaygroundResponse.SerializeToString, ), 'getPlayground': grpc.unary_unary_rpc_method_handler( servicer.getPlayground, - request_deserializer=proto_dot_communitygames__pb2.GetPlaygroundRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.PlaygroundInfoResponse.SerializeToString, + request_deserializer=communitygames__pb2.GetPlaygroundRequest.FromString, + response_serializer=communitygames__pb2.PlaygroundInfoResponse.SerializeToString, ), 'listPlaygroundsByOwner': grpc.unary_unary_rpc_method_handler( servicer.listPlaygroundsByOwner, - request_deserializer=proto_dot_communitygames__pb2.ListPlaygroundsByOwnerRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.ListPlaygroundsByOwnerResponse.SerializeToString, + request_deserializer=communitygames__pb2.ListPlaygroundsByOwnerRequest.FromString, + response_serializer=communitygames__pb2.ListPlaygroundsByOwnerResponse.SerializeToString, ), 'getBlueprintsById': grpc.unary_unary_rpc_method_handler( servicer.getBlueprintsById, - request_deserializer=proto_dot_communitygames__pb2.GetBlueprintsByIdRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.GetBlueprintsByIdResponse.SerializeToString, + request_deserializer=communitygames__pb2.GetBlueprintsByIdRequest.FromString, + response_serializer=communitygames__pb2.GetBlueprintsByIdResponse.SerializeToString, ), 'getScheduledBlueprints': grpc.unary_unary_rpc_method_handler( servicer.getScheduledBlueprints, - request_deserializer=proto_dot_communitygames__pb2.GetScheduledBlueprintsRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.GetScheduledBlueprintsResponse.SerializeToString, + request_deserializer=communitygames__pb2.GetScheduledBlueprintsRequest.FromString, + response_serializer=communitygames__pb2.GetScheduledBlueprintsResponse.SerializeToString, ), 'getConstraints': grpc.unary_unary_rpc_method_handler( servicer.getConstraints, - request_deserializer=proto_dot_communitygames__pb2.GetConstraintsRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.GetConstraintsResponse.SerializeToString, + request_deserializer=communitygames__pb2.GetConstraintsRequest.FromString, + response_serializer=communitygames__pb2.GetConstraintsResponse.SerializeToString, ), 'sharePlayground': grpc.unary_unary_rpc_method_handler( servicer.sharePlayground, - request_deserializer=proto_dot_communitygames__pb2.SharePlaygroundRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.SharePlaygroundResponse.SerializeToString, + request_deserializer=communitygames__pb2.SharePlaygroundRequest.FromString, + response_serializer=communitygames__pb2.SharePlaygroundResponse.SerializeToString, ), 'getProgressionTypes': grpc.unary_unary_rpc_method_handler( servicer.getProgressionTypes, - request_deserializer=proto_dot_communitygames__pb2.GetProgressionTypesRequest.FromString, - response_serializer=proto_dot_communitygames__pb2.GetProgressionTypesResponse.SerializeToString, + request_deserializer=communitygames__pb2.GetProgressionTypesRequest.FromString, + response_serializer=communitygames__pb2.GetProgressionTypesResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -204,8 +204,8 @@ def createPlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/createPlayground', - proto_dot_communitygames__pb2.CreatePlaygroundRequest.SerializeToString, - proto_dot_communitygames__pb2.CreatePlaygroundResponse.FromString, + communitygames__pb2.CreatePlaygroundRequest.SerializeToString, + communitygames__pb2.CreatePlaygroundResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -221,8 +221,8 @@ def updatePlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/updatePlayground', - proto_dot_communitygames__pb2.UpdatePlaygroundRequest.SerializeToString, - proto_dot_communitygames__pb2.UpdatePlaygroundResponse.FromString, + communitygames__pb2.UpdatePlaygroundRequest.SerializeToString, + communitygames__pb2.UpdatePlaygroundResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -238,8 +238,8 @@ def deletePlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/deletePlayground', - proto_dot_communitygames__pb2.DeletePlaygroundRequest.SerializeToString, - proto_dot_communitygames__pb2.DeletePlaygroundResponse.FromString, + communitygames__pb2.DeletePlaygroundRequest.SerializeToString, + communitygames__pb2.DeletePlaygroundResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -255,8 +255,8 @@ def getPlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/getPlayground', - proto_dot_communitygames__pb2.GetPlaygroundRequest.SerializeToString, - proto_dot_communitygames__pb2.PlaygroundInfoResponse.FromString, + communitygames__pb2.GetPlaygroundRequest.SerializeToString, + communitygames__pb2.PlaygroundInfoResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -272,8 +272,8 @@ def listPlaygroundsByOwner(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/listPlaygroundsByOwner', - proto_dot_communitygames__pb2.ListPlaygroundsByOwnerRequest.SerializeToString, - proto_dot_communitygames__pb2.ListPlaygroundsByOwnerResponse.FromString, + communitygames__pb2.ListPlaygroundsByOwnerRequest.SerializeToString, + communitygames__pb2.ListPlaygroundsByOwnerResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -289,8 +289,8 @@ def getBlueprintsById(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/getBlueprintsById', - proto_dot_communitygames__pb2.GetBlueprintsByIdRequest.SerializeToString, - proto_dot_communitygames__pb2.GetBlueprintsByIdResponse.FromString, + communitygames__pb2.GetBlueprintsByIdRequest.SerializeToString, + communitygames__pb2.GetBlueprintsByIdResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -306,8 +306,8 @@ def getScheduledBlueprints(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/getScheduledBlueprints', - proto_dot_communitygames__pb2.GetScheduledBlueprintsRequest.SerializeToString, - proto_dot_communitygames__pb2.GetScheduledBlueprintsResponse.FromString, + communitygames__pb2.GetScheduledBlueprintsRequest.SerializeToString, + communitygames__pb2.GetScheduledBlueprintsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -323,8 +323,8 @@ def getConstraints(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/getConstraints', - proto_dot_communitygames__pb2.GetConstraintsRequest.SerializeToString, - proto_dot_communitygames__pb2.GetConstraintsResponse.FromString, + communitygames__pb2.GetConstraintsRequest.SerializeToString, + communitygames__pb2.GetConstraintsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -340,8 +340,8 @@ def sharePlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/sharePlayground', - proto_dot_communitygames__pb2.SharePlaygroundRequest.SerializeToString, - proto_dot_communitygames__pb2.SharePlaygroundResponse.FromString, + communitygames__pb2.SharePlaygroundRequest.SerializeToString, + communitygames__pb2.SharePlaygroundResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -357,7 +357,7 @@ def getProgressionTypes(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.communitygames.CommunityGames/getProgressionTypes', - proto_dot_communitygames__pb2.GetProgressionTypesRequest.SerializeToString, - proto_dot_communitygames__pb2.GetProgressionTypesResponse.FromString, + communitygames__pb2.GetProgressionTypesRequest.SerializeToString, + communitygames__pb2.GetProgressionTypesResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/bfportal_grpc/proto/localization_pb2.py b/bfportal_grpc/proto/localization_pb2.py index 33a060b..07a6e8c 100644 --- a/bfportal_grpc/proto/localization_pb2.py +++ b/bfportal_grpc/proto/localization_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/localization.proto +# source: localization.proto """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,32 +13,31 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18proto/localization.proto\x12\x10web.localization\"\x17\n\x07SidList\x12\x0c\n\x04sids\x18\x01 \x03(\t\"\x1d\n\x0e\x43\x61tegoryIdList\x12\x0b\n\x03ids\x18\x01 \x03(\x05\" \n\x11SubCategoryIdList\x12\x0b\n\x03ids\x18\x01 \x03(\x05\"\xb9\x01\n\x11TranslationsQuery\x12*\n\x07sidList\x18\x01 \x01(\x0b\x32\x19.web.localization.SidList\x12\x38\n\x0e\x63\x61tegoryIdList\x18\x02 \x01(\x0b\x32 .web.localization.CategoryIdList\x12>\n\x11subCategoryIdList\x18\x03 \x01(\x0b\x32#.web.localization.SubCategoryIdList\"G\n\rLocalizedText\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x15\n\rlocalizedText\x18\x02 \x01(\t\x12\x12\n\ncategoryId\x18\x03 \x01(\x05\"/\n\tTimestamp\x12\x13\n\x07seconds\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\r\n\x05nanos\x18\x02 \x01(\x05\"\x98\x01\n\x16GetTranslationsRequest\x12>\n\x11translationsQuery\x18\x01 \x01(\x0b\x32#.web.localization.TranslationsQuery\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12.\n\tfetchFrom\x18\x05 \x01(\x0b\x32\x1b.web.localization.Timestamp\"\x85\x01\n\x17GetTranslationsResponse\x12\x37\n\x0elocalizedTexts\x18\x03 \x03(\x0b\x32\x1f.web.localization.LocalizedText\x12\x31\n\x0c\x66\x65tchedUntil\x18\x04 \x01(\x0b\x32\x1b.web.localization.Timestamp2~\n\x12\x43lientLocalization\x12h\n\x0fgetTranslations\x12(.web.localization.GetTranslationsRequest\x1a).web.localization.GetTranslationsResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12localization.proto\x12\x10web.localization\"\x17\n\x07SidList\x12\x0c\n\x04sids\x18\x01 \x03(\t\"\x1d\n\x0e\x43\x61tegoryIdList\x12\x0b\n\x03ids\x18\x01 \x03(\x05\" \n\x11SubCategoryIdList\x12\x0b\n\x03ids\x18\x01 \x03(\x05\"\xb9\x01\n\x11TranslationsQuery\x12*\n\x07sidList\x18\x01 \x01(\x0b\x32\x19.web.localization.SidList\x12\x38\n\x0e\x63\x61tegoryIdList\x18\x02 \x01(\x0b\x32 .web.localization.CategoryIdList\x12>\n\x11subCategoryIdList\x18\x03 \x01(\x0b\x32#.web.localization.SubCategoryIdList\"G\n\rLocalizedText\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x15\n\rlocalizedText\x18\x02 \x01(\t\x12\x12\n\ncategoryId\x18\x03 \x01(\x05\"/\n\tTimestamp\x12\x13\n\x07seconds\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\r\n\x05nanos\x18\x02 \x01(\x05\"\x98\x01\n\x16GetTranslationsRequest\x12>\n\x11translationsQuery\x18\x01 \x01(\x0b\x32#.web.localization.TranslationsQuery\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12.\n\tfetchFrom\x18\x05 \x01(\x0b\x32\x1b.web.localization.Timestamp\"\x85\x01\n\x17GetTranslationsResponse\x12\x37\n\x0elocalizedTexts\x18\x03 \x03(\x0b\x32\x1f.web.localization.LocalizedText\x12\x31\n\x0c\x66\x65tchedUntil\x18\x04 \x01(\x0b\x32\x1b.web.localization.Timestamp2~\n\x12\x43lientLocalization\x12h\n\x0fgetTranslations\x12(.web.localization.GetTranslationsRequest\x1a).web.localization.GetTranslationsResponse\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.localization_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'localization_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None _TIMESTAMP.fields_by_name['seconds']._options = None _TIMESTAMP.fields_by_name['seconds']._serialized_options = b'0\001' - _globals['_SIDLIST']._serialized_start=46 - _globals['_SIDLIST']._serialized_end=69 - _globals['_CATEGORYIDLIST']._serialized_start=71 - _globals['_CATEGORYIDLIST']._serialized_end=100 - _globals['_SUBCATEGORYIDLIST']._serialized_start=102 - _globals['_SUBCATEGORYIDLIST']._serialized_end=134 - _globals['_TRANSLATIONSQUERY']._serialized_start=137 - _globals['_TRANSLATIONSQUERY']._serialized_end=322 - _globals['_LOCALIZEDTEXT']._serialized_start=324 - _globals['_LOCALIZEDTEXT']._serialized_end=395 - _globals['_TIMESTAMP']._serialized_start=397 - _globals['_TIMESTAMP']._serialized_end=444 - _globals['_GETTRANSLATIONSREQUEST']._serialized_start=447 - _globals['_GETTRANSLATIONSREQUEST']._serialized_end=599 - _globals['_GETTRANSLATIONSRESPONSE']._serialized_start=602 - _globals['_GETTRANSLATIONSRESPONSE']._serialized_end=735 - _globals['_CLIENTLOCALIZATION']._serialized_start=737 - _globals['_CLIENTLOCALIZATION']._serialized_end=863 + _globals['_SIDLIST']._serialized_start=40 + _globals['_SIDLIST']._serialized_end=63 + _globals['_CATEGORYIDLIST']._serialized_start=65 + _globals['_CATEGORYIDLIST']._serialized_end=94 + _globals['_SUBCATEGORYIDLIST']._serialized_start=96 + _globals['_SUBCATEGORYIDLIST']._serialized_end=128 + _globals['_TRANSLATIONSQUERY']._serialized_start=131 + _globals['_TRANSLATIONSQUERY']._serialized_end=316 + _globals['_LOCALIZEDTEXT']._serialized_start=318 + _globals['_LOCALIZEDTEXT']._serialized_end=389 + _globals['_TIMESTAMP']._serialized_start=391 + _globals['_TIMESTAMP']._serialized_end=438 + _globals['_GETTRANSLATIONSREQUEST']._serialized_start=441 + _globals['_GETTRANSLATIONSREQUEST']._serialized_end=593 + _globals['_GETTRANSLATIONSRESPONSE']._serialized_start=596 + _globals['_GETTRANSLATIONSRESPONSE']._serialized_end=729 + _globals['_CLIENTLOCALIZATION']._serialized_start=731 + _globals['_CLIENTLOCALIZATION']._serialized_end=857 # @@protoc_insertion_point(module_scope) diff --git a/bfportal_grpc/proto/localization_pb2.pyi b/bfportal_grpc/proto/localization_pb2.pyi new file mode 100644 index 0000000..80c5daa --- /dev/null +++ b/bfportal_grpc/proto/localization_pb2.pyi @@ -0,0 +1,70 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class SidList(_message.Message): + __slots__ = ["sids"] + SIDS_FIELD_NUMBER: _ClassVar[int] + sids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, sids: _Optional[_Iterable[str]] = ...) -> None: ... + +class CategoryIdList(_message.Message): + __slots__ = ["ids"] + IDS_FIELD_NUMBER: _ClassVar[int] + ids: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, ids: _Optional[_Iterable[int]] = ...) -> None: ... + +class SubCategoryIdList(_message.Message): + __slots__ = ["ids"] + IDS_FIELD_NUMBER: _ClassVar[int] + ids: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, ids: _Optional[_Iterable[int]] = ...) -> None: ... + +class TranslationsQuery(_message.Message): + __slots__ = ["sidList", "categoryIdList", "subCategoryIdList"] + SIDLIST_FIELD_NUMBER: _ClassVar[int] + CATEGORYIDLIST_FIELD_NUMBER: _ClassVar[int] + SUBCATEGORYIDLIST_FIELD_NUMBER: _ClassVar[int] + sidList: SidList + categoryIdList: CategoryIdList + subCategoryIdList: SubCategoryIdList + def __init__(self, sidList: _Optional[_Union[SidList, _Mapping]] = ..., categoryIdList: _Optional[_Union[CategoryIdList, _Mapping]] = ..., subCategoryIdList: _Optional[_Union[SubCategoryIdList, _Mapping]] = ...) -> None: ... + +class LocalizedText(_message.Message): + __slots__ = ["sid", "localizedText", "categoryId"] + SID_FIELD_NUMBER: _ClassVar[int] + LOCALIZEDTEXT_FIELD_NUMBER: _ClassVar[int] + CATEGORYID_FIELD_NUMBER: _ClassVar[int] + sid: str + localizedText: str + categoryId: int + def __init__(self, sid: _Optional[str] = ..., localizedText: _Optional[str] = ..., categoryId: _Optional[int] = ...) -> None: ... + +class Timestamp(_message.Message): + __slots__ = ["seconds", "nanos"] + SECONDS_FIELD_NUMBER: _ClassVar[int] + NANOS_FIELD_NUMBER: _ClassVar[int] + seconds: int + nanos: int + def __init__(self, seconds: _Optional[int] = ..., nanos: _Optional[int] = ...) -> None: ... + +class GetTranslationsRequest(_message.Message): + __slots__ = ["translationsQuery", "locale", "fetchFrom"] + TRANSLATIONSQUERY_FIELD_NUMBER: _ClassVar[int] + LOCALE_FIELD_NUMBER: _ClassVar[int] + FETCHFROM_FIELD_NUMBER: _ClassVar[int] + translationsQuery: TranslationsQuery + locale: str + fetchFrom: Timestamp + def __init__(self, translationsQuery: _Optional[_Union[TranslationsQuery, _Mapping]] = ..., locale: _Optional[str] = ..., fetchFrom: _Optional[_Union[Timestamp, _Mapping]] = ...) -> None: ... + +class GetTranslationsResponse(_message.Message): + __slots__ = ["localizedTexts", "fetchedUntil"] + LOCALIZEDTEXTS_FIELD_NUMBER: _ClassVar[int] + FETCHEDUNTIL_FIELD_NUMBER: _ClassVar[int] + localizedTexts: _containers.RepeatedCompositeFieldContainer[LocalizedText] + fetchedUntil: Timestamp + def __init__(self, localizedTexts: _Optional[_Iterable[_Union[LocalizedText, _Mapping]]] = ..., fetchedUntil: _Optional[_Union[Timestamp, _Mapping]] = ...) -> None: ... diff --git a/bfportal_grpc/proto/localization_pb2_grpc.py b/bfportal_grpc/proto/localization_pb2_grpc.py index 872922c..7229c28 100644 --- a/bfportal_grpc/proto/localization_pb2_grpc.py +++ b/bfportal_grpc/proto/localization_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import localization_pb2 as proto_dot_localization__pb2 +import localization_pb2 as localization__pb2 class ClientLocalizationStub(object): @@ -16,8 +16,8 @@ def __init__(self, channel): """ self.getTranslations = channel.unary_unary( '/web.localization.ClientLocalization/getTranslations', - request_serializer=proto_dot_localization__pb2.GetTranslationsRequest.SerializeToString, - response_deserializer=proto_dot_localization__pb2.GetTranslationsResponse.FromString, + request_serializer=localization__pb2.GetTranslationsRequest.SerializeToString, + response_deserializer=localization__pb2.GetTranslationsResponse.FromString, ) @@ -35,8 +35,8 @@ def add_ClientLocalizationServicer_to_server(servicer, server): rpc_method_handlers = { 'getTranslations': grpc.unary_unary_rpc_method_handler( servicer.getTranslations, - request_deserializer=proto_dot_localization__pb2.GetTranslationsRequest.FromString, - response_serializer=proto_dot_localization__pb2.GetTranslationsResponse.SerializeToString, + request_deserializer=localization__pb2.GetTranslationsRequest.FromString, + response_serializer=localization__pb2.GetTranslationsResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -60,7 +60,7 @@ def getTranslations(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.localization.ClientLocalization/getTranslations', - proto_dot_localization__pb2.GetTranslationsRequest.SerializeToString, - proto_dot_localization__pb2.GetTranslationsResponse.FromString, + localization__pb2.GetTranslationsRequest.SerializeToString, + localization__pb2.GetTranslationsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/bfportal_grpc/proto/reporting_pb2.py b/bfportal_grpc/proto/reporting_pb2.py index 0d60766..2665879 100644 --- a/bfportal_grpc/proto/reporting_pb2.py +++ b/bfportal_grpc/proto/reporting_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/reporting.proto +# source: reporting.proto """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,22 +13,21 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15proto/reporting.proto\x12\rweb.reporting\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\xd4\x01\n\x17ReportPlaygroundRequest\x12\x17\n\x0fprotocolVersion\x18\x01 \x01(\t\x12\x14\n\x0cplaygroundId\x18\x02 \x01(\t\x12)\n\x08\x63\x61tegory\x18\x03 \x01(\x0e\x32\x17.web.reporting.Category\x12\x32\n\x0erequesterEmail\x18\x04 \x01(\x0b\x32\x1a.web.reporting.StringValue\x12+\n\x07subject\x18\x05 \x01(\x0b\x32\x1a.web.reporting.StringValue\".\n\x18ReportPlaygroundResponse\x12\x12\n\npetitionId\x18\x01 \x01(\t*\xc7\x02\n\x08\x43\x61tegory\x12\x14\n\x10UNKNOWN_CATEGORY\x10\x00\x12\x0c\n\x08\x43HEATING\x10\x01\x12\x0e\n\nHARASSMENT\x10\x02\x12\x08\n\x04SPAM\x10\x03\x12\x0e\n\nPLAGIARISM\x10\x04\x12\x0f\n\x0bHATE_SPEECH\x10\x05\x12\x15\n\x11SEXUALLY_EXPLICIT\x10\x06\x12\x16\n\x12\x43HILD_SOLICITATION\x10\x07\x12\x14\n\x10TERRORIST_THREAT\x10\x08\x12\x0f\n\x0b\x43LIENT_HACK\x10\t\x12\x12\n\x0eSUICIDE_THREAT\x10\n\x12\n\n\x06\x44OXING\x10\x0b\x12\x0f\n\x0b\x41\x44VERTISING\x10\x0c\x12\x11\n\rINAPPROPRIATE\x10\r\x12\x0b\n\x07VIOLENT\x10\x0e\x12\r\n\tOFFENSIVE\x10\x0f\x12\x12\n\x0eOFFENSIVE_CHAT\x10\x10\x12\x12\n\x0eOFFENSIVE_NAME\x10\x11\x32u\n\x0cWebReporting\x12\x65\n\x10reportPlayground\x12&.web.reporting.ReportPlaygroundRequest\x1a\'.web.reporting.ReportPlaygroundResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0freporting.proto\x12\rweb.reporting\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\xd4\x01\n\x17ReportPlaygroundRequest\x12\x17\n\x0fprotocolVersion\x18\x01 \x01(\t\x12\x14\n\x0cplaygroundId\x18\x02 \x01(\t\x12)\n\x08\x63\x61tegory\x18\x03 \x01(\x0e\x32\x17.web.reporting.Category\x12\x32\n\x0erequesterEmail\x18\x04 \x01(\x0b\x32\x1a.web.reporting.StringValue\x12+\n\x07subject\x18\x05 \x01(\x0b\x32\x1a.web.reporting.StringValue\".\n\x18ReportPlaygroundResponse\x12\x12\n\npetitionId\x18\x01 \x01(\t*\xc7\x02\n\x08\x43\x61tegory\x12\x14\n\x10UNKNOWN_CATEGORY\x10\x00\x12\x0c\n\x08\x43HEATING\x10\x01\x12\x0e\n\nHARASSMENT\x10\x02\x12\x08\n\x04SPAM\x10\x03\x12\x0e\n\nPLAGIARISM\x10\x04\x12\x0f\n\x0bHATE_SPEECH\x10\x05\x12\x15\n\x11SEXUALLY_EXPLICIT\x10\x06\x12\x16\n\x12\x43HILD_SOLICITATION\x10\x07\x12\x14\n\x10TERRORIST_THREAT\x10\x08\x12\x0f\n\x0b\x43LIENT_HACK\x10\t\x12\x12\n\x0eSUICIDE_THREAT\x10\n\x12\n\n\x06\x44OXING\x10\x0b\x12\x0f\n\x0b\x41\x44VERTISING\x10\x0c\x12\x11\n\rINAPPROPRIATE\x10\r\x12\x0b\n\x07VIOLENT\x10\x0e\x12\r\n\tOFFENSIVE\x10\x0f\x12\x12\n\x0eOFFENSIVE_CHAT\x10\x10\x12\x12\n\x0eOFFENSIVE_NAME\x10\x11\x32u\n\x0cWebReporting\x12\x65\n\x10reportPlayground\x12&.web.reporting.ReportPlaygroundRequest\x1a\'.web.reporting.ReportPlaygroundResponse\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.reporting_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'reporting_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _globals['_CATEGORY']._serialized_start=334 - _globals['_CATEGORY']._serialized_end=661 - _globals['_STRINGVALUE']._serialized_start=40 - _globals['_STRINGVALUE']._serialized_end=68 - _globals['_REPORTPLAYGROUNDREQUEST']._serialized_start=71 - _globals['_REPORTPLAYGROUNDREQUEST']._serialized_end=283 - _globals['_REPORTPLAYGROUNDRESPONSE']._serialized_start=285 - _globals['_REPORTPLAYGROUNDRESPONSE']._serialized_end=331 - _globals['_WEBREPORTING']._serialized_start=663 - _globals['_WEBREPORTING']._serialized_end=780 + _globals['_CATEGORY']._serialized_start=328 + _globals['_CATEGORY']._serialized_end=655 + _globals['_STRINGVALUE']._serialized_start=34 + _globals['_STRINGVALUE']._serialized_end=62 + _globals['_REPORTPLAYGROUNDREQUEST']._serialized_start=65 + _globals['_REPORTPLAYGROUNDREQUEST']._serialized_end=277 + _globals['_REPORTPLAYGROUNDRESPONSE']._serialized_start=279 + _globals['_REPORTPLAYGROUNDRESPONSE']._serialized_end=325 + _globals['_WEBREPORTING']._serialized_start=657 + _globals['_WEBREPORTING']._serialized_end=774 # @@protoc_insertion_point(module_scope) diff --git a/bfportal_grpc/proto/reporting_pb2.pyi b/bfportal_grpc/proto/reporting_pb2.pyi new file mode 100644 index 0000000..59b7185 --- /dev/null +++ b/bfportal_grpc/proto/reporting_pb2.pyi @@ -0,0 +1,71 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Category(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN_CATEGORY: _ClassVar[Category] + CHEATING: _ClassVar[Category] + HARASSMENT: _ClassVar[Category] + SPAM: _ClassVar[Category] + PLAGIARISM: _ClassVar[Category] + HATE_SPEECH: _ClassVar[Category] + SEXUALLY_EXPLICIT: _ClassVar[Category] + CHILD_SOLICITATION: _ClassVar[Category] + TERRORIST_THREAT: _ClassVar[Category] + CLIENT_HACK: _ClassVar[Category] + SUICIDE_THREAT: _ClassVar[Category] + DOXING: _ClassVar[Category] + ADVERTISING: _ClassVar[Category] + INAPPROPRIATE: _ClassVar[Category] + VIOLENT: _ClassVar[Category] + OFFENSIVE: _ClassVar[Category] + OFFENSIVE_CHAT: _ClassVar[Category] + OFFENSIVE_NAME: _ClassVar[Category] +UNKNOWN_CATEGORY: Category +CHEATING: Category +HARASSMENT: Category +SPAM: Category +PLAGIARISM: Category +HATE_SPEECH: Category +SEXUALLY_EXPLICIT: Category +CHILD_SOLICITATION: Category +TERRORIST_THREAT: Category +CLIENT_HACK: Category +SUICIDE_THREAT: Category +DOXING: Category +ADVERTISING: Category +INAPPROPRIATE: Category +VIOLENT: Category +OFFENSIVE: Category +OFFENSIVE_CHAT: Category +OFFENSIVE_NAME: Category + +class StringValue(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: str + def __init__(self, value: _Optional[str] = ...) -> None: ... + +class ReportPlaygroundRequest(_message.Message): + __slots__ = ["protocolVersion", "playgroundId", "category", "requesterEmail", "subject"] + PROTOCOLVERSION_FIELD_NUMBER: _ClassVar[int] + PLAYGROUNDID_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + REQUESTEREMAIL_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + protocolVersion: str + playgroundId: str + category: Category + requesterEmail: StringValue + subject: StringValue + def __init__(self, protocolVersion: _Optional[str] = ..., playgroundId: _Optional[str] = ..., category: _Optional[_Union[Category, str]] = ..., requesterEmail: _Optional[_Union[StringValue, _Mapping]] = ..., subject: _Optional[_Union[StringValue, _Mapping]] = ...) -> None: ... + +class ReportPlaygroundResponse(_message.Message): + __slots__ = ["petitionId"] + PETITIONID_FIELD_NUMBER: _ClassVar[int] + petitionId: str + def __init__(self, petitionId: _Optional[str] = ...) -> None: ... diff --git a/bfportal_grpc/proto/reporting_pb2_grpc.py b/bfportal_grpc/proto/reporting_pb2_grpc.py index 4b0a5cb..e853821 100644 --- a/bfportal_grpc/proto/reporting_pb2_grpc.py +++ b/bfportal_grpc/proto/reporting_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import reporting_pb2 as proto_dot_reporting__pb2 +import reporting_pb2 as reporting__pb2 class WebReportingStub(object): @@ -16,8 +16,8 @@ def __init__(self, channel): """ self.reportPlayground = channel.unary_unary( '/web.reporting.WebReporting/reportPlayground', - request_serializer=proto_dot_reporting__pb2.ReportPlaygroundRequest.SerializeToString, - response_deserializer=proto_dot_reporting__pb2.ReportPlaygroundResponse.FromString, + request_serializer=reporting__pb2.ReportPlaygroundRequest.SerializeToString, + response_deserializer=reporting__pb2.ReportPlaygroundResponse.FromString, ) @@ -35,8 +35,8 @@ def add_WebReportingServicer_to_server(servicer, server): rpc_method_handlers = { 'reportPlayground': grpc.unary_unary_rpc_method_handler( servicer.reportPlayground, - request_deserializer=proto_dot_reporting__pb2.ReportPlaygroundRequest.FromString, - response_serializer=proto_dot_reporting__pb2.ReportPlaygroundResponse.SerializeToString, + request_deserializer=reporting__pb2.ReportPlaygroundRequest.FromString, + response_serializer=reporting__pb2.ReportPlaygroundResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -60,7 +60,7 @@ def reportPlayground(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/web.reporting.WebReporting/reportPlayground', - proto_dot_reporting__pb2.ReportPlaygroundRequest.SerializeToString, - proto_dot_reporting__pb2.ReportPlaygroundResponse.FromString, + reporting__pb2.ReportPlaygroundRequest.SerializeToString, + reporting__pb2.ReportPlaygroundResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/package.json b/package.json index d020301..3dde24d 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,6 @@ "build:esm": "node tools/cleanup esm && tsc -p config/tsconfig.esm.json && copyfiles -u 1 src/**/*.js dist/esm/", "build:umd": "node tools/cleanup umd && webpack --config config/webpack.config.js && copyfiles -u 1 src/**/*.js dist/umd/", "build:types": "node tools/cleanup types && tsc -p config/tsconfig.types.json && copyfiles -u 1 src/**/*.js dist/types/", - "build:python": "cd proto && python3 -m grpc_tools.protoc -I. --python_out=../bfportal_grpc/proto --grpc_python_out=../bfportal_grpc/proto communitygames.proto localization.proto authentication.proto reporting.proto && cd ../", - "python:setimports": "cd bfportal_grpc/proto && for i in *_grpc.py; do sed -i '/ as / s/import /from . import /;' $i; done && cd ../..", "test": "jest --no-cache --runInBand" }, "publishConfig": { diff --git a/poetry.lock b/poetry.lock index 7ceda6e..4148c07 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,99 +1,99 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "aiohttp" -version = "3.8.5" +version = "3.8.6" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.6" files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, + {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, + {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, + {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, + {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, + {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, + {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, + {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, + {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, + {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, + {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, ] [package.dependencies] @@ -153,33 +153,29 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "black" -version = "23.9.1" +version = "23.10.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, - {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, - {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, - {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, - {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, - {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, - {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, - {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, - {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, - {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, - {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:ec3f8e6234c4e46ff9e16d9ae96f4ef69fa328bb4ad08198c8cee45bb1f08c69"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:1b917a2aa020ca600483a7b340c165970b26e9029067f019e3755b56e8dd5916"}, + {file = "black-23.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c74de4c77b849e6359c6f01987e94873c707098322b91490d24296f66d067dc"}, + {file = "black-23.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4d10b0f016616a0d93d24a448100adf1699712fb7a4efd0e2c32bbb219b173"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b15b75fc53a2fbcac8a87d3e20f69874d161beef13954747e053bca7a1ce53a0"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:e293e4c2f4a992b980032bbd62df07c1bcff82d6964d6c9496f2cd726e246ace"}, + {file = "black-23.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d56124b7a61d092cb52cce34182a5280e160e6aff3137172a68c2c2c4b76bcb"}, + {file = "black-23.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f157a8945a7b2d424da3335f7ace89c14a3b0625e6593d21139c2d8214d55ce"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:cfcce6f0a384d0da692119f2d72d79ed07c7159879d0bb1bb32d2e443382bf3a"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:33d40f5b06be80c1bbce17b173cda17994fbad096ce60eb22054da021bf933d1"}, + {file = "black-23.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:840015166dbdfbc47992871325799fd2dc0dcf9395e401ada6d88fe11498abad"}, + {file = "black-23.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:037e9b4664cafda5f025a1728c50a9e9aedb99a759c89f760bd83730e76ba884"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:7cb5936e686e782fddb1c73f8aa6f459e1ad38a6a7b0e54b403f1f05a1507ee9"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:7670242e90dc129c539e9ca17665e39a146a761e681805c54fbd86015c7c84f7"}, + {file = "black-23.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed45ac9a613fb52dad3b61c8dea2ec9510bf3108d4db88422bacc7d1ba1243d"}, + {file = "black-23.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6d23d7822140e3fef190734216cefb262521789367fbdc0b3f22af6744058982"}, + {file = "black-23.10.1-py3-none-any.whl", hash = "sha256:d431e6739f727bb2e0495df64a6c7a5310758e87505f5f8cde9ff6c0f2d7e4fe"}, + {file = "black-23.10.1.tar.gz", hash = "sha256:1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258"}, ] [package.dependencies] @@ -199,86 +195,101 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, + {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, ] [[package]] @@ -320,6 +331,20 @@ files = [ [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "execnet" +version = "2.0.2" +description = "execnet: rapid multi-Python deployment" +optional = false +python-versions = ">=3.7" +files = [ + {file = "execnet-2.0.2-py3-none-any.whl", hash = "sha256:88256416ae766bc9e8895c76a87928c0012183da3cc4fc18016e6f050e025f41"}, + {file = "execnet-2.0.2.tar.gz", hash = "sha256:cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af"}, +] + +[package.extras] +testing = ["hatch", "pre-commit", "pytest", "tox"] + [[package]] name = "frozenlist" version = "1.4.0" @@ -392,117 +417,135 @@ files = [ [[package]] name = "grpcio" -version = "1.58.0" +version = "1.59.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-1.58.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:3e6bebf1dfdbeb22afd95650e4f019219fef3ab86d3fca8ebade52e4bc39389a"}, - {file = "grpcio-1.58.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:cde11577d5b6fd73a00e6bfa3cf5f428f3f33c2d2878982369b5372bbc4acc60"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a2d67ff99e70e86b2be46c1017ae40b4840d09467d5455b2708de6d4c127e143"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ed979b273a81de36fc9c6716d9fb09dd3443efa18dcc8652501df11da9583e9"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:458899d2ebd55d5ca2350fd3826dfd8fcb11fe0f79828ae75e2b1e6051d50a29"}, - {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc7ffef430b80345729ff0a6825e9d96ac87efe39216e87ac58c6c4ef400de93"}, - {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5b23d75e5173faa3d1296a7bedffb25afd2fddb607ef292dfc651490c7b53c3d"}, - {file = "grpcio-1.58.0-cp310-cp310-win32.whl", hash = "sha256:fad9295fe02455d4f158ad72c90ef8b4bcaadfdb5efb5795f7ab0786ad67dd58"}, - {file = "grpcio-1.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc325fed4d074367bebd465a20763586e5e1ed5b943e9d8bc7c162b1f44fd602"}, - {file = "grpcio-1.58.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:652978551af02373a5a313e07bfef368f406b5929cf2d50fa7e4027f913dbdb4"}, - {file = "grpcio-1.58.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:9f13a171281ebb4d7b1ba9f06574bce2455dcd3f2f6d1fbe0fd0d84615c74045"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8774219e21b05f750eef8adc416e9431cf31b98f6ce9def288e4cea1548cbd22"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09206106848462763f7f273ca93d2d2d4d26cab475089e0de830bb76be04e9e8"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62831d5e251dd7561d9d9e83a0b8655084b2a1f8ea91e4bd6b3cedfefd32c9d2"}, - {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:212f38c6a156862098f6bdc9a79bf850760a751d259d8f8f249fc6d645105855"}, - {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4b12754af201bb993e6e2efd7812085ddaaef21d0a6f0ff128b97de1ef55aa4a"}, - {file = "grpcio-1.58.0-cp311-cp311-win32.whl", hash = "sha256:3886b4d56bd4afeac518dbc05933926198aa967a7d1d237a318e6fbc47141577"}, - {file = "grpcio-1.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:002f228d197fea12797a14e152447044e14fb4fdb2eb5d6cfa496f29ddbf79ef"}, - {file = "grpcio-1.58.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:b5e8db0aff0a4819946215f156bd722b6f6c8320eb8419567ffc74850c9fd205"}, - {file = "grpcio-1.58.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:201e550b7e2ede113b63e718e7ece93cef5b0fbf3c45e8fe4541a5a4305acd15"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:d79b660681eb9bc66cc7cbf78d1b1b9e335ee56f6ea1755d34a31108b80bd3c8"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ef8d4a76d2c7d8065aba829f8d0bc0055495c998dce1964ca5b302d02514fb3"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cba491c638c76d3dc6c191d9c75041ca5b8f5c6de4b8327ecdcab527f130bb4"}, - {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6801ff6652ecd2aae08ef994a3e49ff53de29e69e9cd0fd604a79ae4e545a95c"}, - {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:24edec346e69e672daf12b2c88e95c6f737f3792d08866101d8c5f34370c54fd"}, - {file = "grpcio-1.58.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7e473a7abad9af48e3ab5f3b5d237d18208024d28ead65a459bd720401bd2f8f"}, - {file = "grpcio-1.58.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:4891bbb4bba58acd1d620759b3be11245bfe715eb67a4864c8937b855b7ed7fa"}, - {file = "grpcio-1.58.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:e9f995a8a421405958ff30599b4d0eec244f28edc760de82f0412c71c61763d2"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2f85f87e2f087d9f632c085b37440a3169fda9cdde80cb84057c2fc292f8cbdf"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb6b92036ff312d5b4182fa72e8735d17aceca74d0d908a7f08e375456f03e07"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d81c2b2b24c32139dd2536972f1060678c6b9fbd106842a9fcdecf07b233eccd"}, - {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:fbcecb6aedd5c1891db1d70efbfbdc126c986645b5dd616a045c07d6bd2dfa86"}, - {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92ae871a902cf19833328bd6498ec007b265aabf2fda845ab5bd10abcaf4c8c6"}, - {file = "grpcio-1.58.0-cp38-cp38-win32.whl", hash = "sha256:dc72e04620d49d3007771c0e0348deb23ca341c0245d610605dddb4ac65a37cb"}, - {file = "grpcio-1.58.0-cp38-cp38-win_amd64.whl", hash = "sha256:1c1c5238c6072470c7f1614bf7c774ffde6b346a100521de9ce791d1e4453afe"}, - {file = "grpcio-1.58.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fe643af248442221db027da43ed43e53b73e11f40c9043738de9a2b4b6ca7697"}, - {file = "grpcio-1.58.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:128eb1f8e70676d05b1b0c8e6600320fc222b3f8c985a92224248b1367122188"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:039003a5e0ae7d41c86c768ef8b3ee2c558aa0a23cf04bf3c23567f37befa092"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f061722cad3f9aabb3fbb27f3484ec9d4667b7328d1a7800c3c691a98f16bb0"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0af11938acf8cd4cf815c46156bcde36fa5850518120920d52620cc3ec1830"}, - {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d4cef77ad2fed42b1ba9143465856d7e737279854e444925d5ba45fc1f3ba727"}, - {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24765a627eb4d9288ace32d5104161c3654128fe27f2808ecd6e9b0cfa7fc8b9"}, - {file = "grpcio-1.58.0-cp39-cp39-win32.whl", hash = "sha256:f0241f7eb0d2303a545136c59bc565a35c4fc3b924ccbd69cb482f4828d6f31c"}, - {file = "grpcio-1.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:dcfba7befe3a55dab6fe1eb7fc9359dc0c7f7272b30a70ae0af5d5b063842f28"}, - {file = "grpcio-1.58.0.tar.gz", hash = "sha256:532410c51ccd851b706d1fbc00a87be0f5312bd6f8e5dbf89d4e99c7f79d7499"}, + {file = "grpcio-1.59.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:225e5fa61c35eeaebb4e7491cd2d768cd8eb6ed00f2664fa83a58f29418b39fd"}, + {file = "grpcio-1.59.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:b95ec8ecc4f703f5caaa8d96e93e40c7f589bad299a2617bdb8becbcce525539"}, + {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:1a839ba86764cc48226f50b924216000c79779c563a301586a107bda9cbe9dcf"}, + {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6cfe44a5d7c7d5f1017a7da1c8160304091ca5dc64a0f85bca0d63008c3137a"}, + {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0fcf53df684fcc0154b1e61f6b4a8c4cf5f49d98a63511e3f30966feff39cd0"}, + {file = "grpcio-1.59.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa66cac32861500f280bb60fe7d5b3e22d68c51e18e65367e38f8669b78cea3b"}, + {file = "grpcio-1.59.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8cd2d38c2d52f607d75a74143113174c36d8a416d9472415eab834f837580cf7"}, + {file = "grpcio-1.59.0-cp310-cp310-win32.whl", hash = "sha256:228b91ce454876d7eed74041aff24a8f04c0306b7250a2da99d35dd25e2a1211"}, + {file = "grpcio-1.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:ca87ee6183421b7cea3544190061f6c1c3dfc959e0b57a5286b108511fd34ff4"}, + {file = "grpcio-1.59.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c173a87d622ea074ce79be33b952f0b424fa92182063c3bda8625c11d3585d09"}, + {file = "grpcio-1.59.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:ec78aebb9b6771d6a1de7b6ca2f779a2f6113b9108d486e904bde323d51f5589"}, + {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:0b84445fa94d59e6806c10266b977f92fa997db3585f125d6b751af02ff8b9fe"}, + {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c251d22de8f9f5cca9ee47e4bade7c5c853e6e40743f47f5cc02288ee7a87252"}, + {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:956f0b7cb465a65de1bd90d5a7475b4dc55089b25042fe0f6c870707e9aabb1d"}, + {file = "grpcio-1.59.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:38da5310ef84e16d638ad89550b5b9424df508fd5c7b968b90eb9629ca9be4b9"}, + {file = "grpcio-1.59.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:63982150a7d598281fa1d7ffead6096e543ff8be189d3235dd2b5604f2c553e5"}, + {file = "grpcio-1.59.0-cp311-cp311-win32.whl", hash = "sha256:50eff97397e29eeee5df106ea1afce3ee134d567aa2c8e04fabab05c79d791a7"}, + {file = "grpcio-1.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:15f03bd714f987d48ae57fe092cf81960ae36da4e520e729392a59a75cda4f29"}, + {file = "grpcio-1.59.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:f1feb034321ae2f718172d86b8276c03599846dc7bb1792ae370af02718f91c5"}, + {file = "grpcio-1.59.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:d09bd2a4e9f5a44d36bb8684f284835c14d30c22d8ec92ce796655af12163588"}, + {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:2f120d27051e4c59db2f267b71b833796770d3ea36ca712befa8c5fff5da6ebd"}, + {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0ca727a173ee093f49ead932c051af463258b4b493b956a2c099696f38aa66"}, + {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5711c51e204dc52065f4a3327dca46e69636a0b76d3e98c2c28c4ccef9b04c52"}, + {file = "grpcio-1.59.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d74f7d2d7c242a6af9d4d069552ec3669965b74fed6b92946e0e13b4168374f9"}, + {file = "grpcio-1.59.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3859917de234a0a2a52132489c4425a73669de9c458b01c9a83687f1f31b5b10"}, + {file = "grpcio-1.59.0-cp312-cp312-win32.whl", hash = "sha256:de2599985b7c1b4ce7526e15c969d66b93687571aa008ca749d6235d056b7205"}, + {file = "grpcio-1.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:598f3530231cf10ae03f4ab92d48c3be1fee0c52213a1d5958df1a90957e6a88"}, + {file = "grpcio-1.59.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:b34c7a4c31841a2ea27246a05eed8a80c319bfc0d3e644412ec9ce437105ff6c"}, + {file = "grpcio-1.59.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:c4dfdb49f4997dc664f30116af2d34751b91aa031f8c8ee251ce4dcfc11277b0"}, + {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:61bc72a00ecc2b79d9695220b4d02e8ba53b702b42411397e831c9b0589f08a3"}, + {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f367e4b524cb319e50acbdea57bb63c3b717c5d561974ace0b065a648bb3bad3"}, + {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:849c47ef42424c86af069a9c5e691a765e304079755d5c29eff511263fad9c2a"}, + {file = "grpcio-1.59.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c0488c2b0528e6072010182075615620071371701733c63ab5be49140ed8f7f0"}, + {file = "grpcio-1.59.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:611d9aa0017fa386809bddcb76653a5ab18c264faf4d9ff35cb904d44745f575"}, + {file = "grpcio-1.59.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e5378785dce2b91eb2e5b857ec7602305a3b5cf78311767146464bfa365fc897"}, + {file = "grpcio-1.59.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:fe976910de34d21057bcb53b2c5e667843588b48bf11339da2a75f5c4c5b4055"}, + {file = "grpcio-1.59.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:c041a91712bf23b2a910f61e16565a05869e505dc5a5c025d429ca6de5de842c"}, + {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:0ae444221b2c16d8211b55326f8ba173ba8f8c76349bfc1768198ba592b58f74"}, + {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceb1e68135788c3fce2211de86a7597591f0b9a0d2bb80e8401fd1d915991bac"}, + {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c4b1cc3a9dc1924d2eb26eec8792fedd4b3fcd10111e26c1d551f2e4eda79ce"}, + {file = "grpcio-1.59.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:871371ce0c0055d3db2a86fdebd1e1d647cf21a8912acc30052660297a5a6901"}, + {file = "grpcio-1.59.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:93e9cb546e610829e462147ce724a9cb108e61647a3454500438a6deef610be1"}, + {file = "grpcio-1.59.0-cp38-cp38-win32.whl", hash = "sha256:f21917aa50b40842b51aff2de6ebf9e2f6af3fe0971c31960ad6a3a2b24988f4"}, + {file = "grpcio-1.59.0-cp38-cp38-win_amd64.whl", hash = "sha256:14890da86a0c0e9dc1ea8e90101d7a3e0e7b1e71f4487fab36e2bfd2ecadd13c"}, + {file = "grpcio-1.59.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:34341d9e81a4b669a5f5dca3b2a760b6798e95cdda2b173e65d29d0b16692857"}, + {file = "grpcio-1.59.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:986de4aa75646e963466b386a8c5055c8b23a26a36a6c99052385d6fe8aaf180"}, + {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:aca8a24fef80bef73f83eb8153f5f5a0134d9539b4c436a716256b311dda90a6"}, + {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:936b2e04663660c600d5173bc2cc84e15adbad9c8f71946eb833b0afc205b996"}, + {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc8bf2e7bc725e76c0c11e474634a08c8f24bcf7426c0c6d60c8f9c6e70e4d4a"}, + {file = "grpcio-1.59.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81d86a096ccd24a57fa5772a544c9e566218bc4de49e8c909882dae9d73392df"}, + {file = "grpcio-1.59.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2ea95cd6abbe20138b8df965b4a8674ec312aaef3147c0f46a0bac661f09e8d0"}, + {file = "grpcio-1.59.0-cp39-cp39-win32.whl", hash = "sha256:3b8ff795d35a93d1df6531f31c1502673d1cebeeba93d0f9bd74617381507e3f"}, + {file = "grpcio-1.59.0-cp39-cp39-win_amd64.whl", hash = "sha256:38823bd088c69f59966f594d087d3a929d1ef310506bee9e3648317660d65b81"}, + {file = "grpcio-1.59.0.tar.gz", hash = "sha256:acf70a63cf09dd494000007b798aff88a436e1c03b394995ce450be437b8e54f"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.58.0)"] +protobuf = ["grpcio-tools (>=1.59.0)"] [[package]] name = "grpcio-tools" -version = "1.58.0" +version = "1.59.0" description = "Protobuf code generator for gRPC" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-tools-1.58.0.tar.gz", hash = "sha256:6f4d80ceb591e31ca4dceec747dbe56132e1392a0a9bb1c8fe001d1b5cac898a"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:60c874908f3b40f32f1bb0221f7b3ab65ecb53a4d0a9f0a394f031f1b292c177"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:1852e798f31e5437ca7b37abc910e028b34732fb19364862cedb87b1dab66fad"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:149fb48f53cb691a6328f68bed8e4036c730f7106b7f98e92c2c0403f0b9e93c"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba3d383e5ca93826038b70f326fce8e8d12dd9b2f64d363a3d612f7475f12dd2"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6997511e9d2979f7a2389479682dbb06823f21a904e8fb0a5c6baaf1b4b4a863"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8de0b701da479643f71fad71fe66885cddd89441ae16e2c724939b47742dc72e"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:43cc23908b63fcaefe690b10f68a2d8652c994b5b36ab77d2271d9608c895320"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-win32.whl", hash = "sha256:2c2221123d010dc6231799e63a37f2f4786bf614ef65b23009c387cd20d8b193"}, - {file = "grpcio_tools-1.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:df2788736bdf58abe7b0e4d6b1ff806f7686c98c5ad900da312252e3322d91c4"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:b6ea5578712cdb29b0ff60bfc6405bf0e8d681b9c71d106dd1cda54fe7fe4e55"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:c29880f491581c83181c0a84a4d11402af2b13166a5266f64e246adf1da7aa66"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:32d51e933c3565414dd0835f930bb28a1cdeba435d9d2c87fa3cf8b1d284db3c"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ad9d77f25514584b1ddc981d70c9e50dfcfc388aa5ba943eee67520c5267ed9"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4882382631e6352819059278a5c878ce0b067008dd490911d16d5616e8a36d85"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d84091a189d848d94645b7c48b61734c12ec03b0d46e5fc0049343a26989ac5c"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:85ac28a9621e9b92a3fc416288c4ce45542db0b4c31b3e23031dd8e0a0ec5590"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-win32.whl", hash = "sha256:7371d8ea80234b29affec145e25569523f549520ed7e53b2aa92bed412cdecfd"}, - {file = "grpcio_tools-1.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:6997df6e7c5cf4d3ddc764240c1ff6a04b45d70ec28913b38fbc6396ef743e12"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:ac65b8d6e3acaf88b815edf9af88ff844b6600ff3d2591c05ba4f655b45d5fb4"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:88e8191d0dd789bebf42533808728f5ce75d2c51e2a72bdf20abe5b5e3fbec42"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:a3dbece2a121761499a659b799979d4b738586d1065439053de553773eee11ca"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1086fe240c4c879b9721952b47d46996deb283c2d9355a8dc24a804811aacf70"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7ae3dca059d5b358dd03fb63277428fa7d771605d4074a019138dd38d70719a"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3f8904ac7fc3da2e874f00b3a986e8b7e004f499344a8e7eb213c26dfb025041"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:aadbd8393ae332e49731adb31e741f2e689989150569b7acc939f5ea43124e2d"}, - {file = "grpcio_tools-1.58.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1cb6e24194786687d4f23c64de1f0ce553af51de22746911bc37340f85f9783e"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:6ec43909095c630df3e479e77469bdad367067431f4af602f6ccb978a3b78afd"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:4be49ed320b0ebcbc21d19ef555fbf229c1c452105522b728e1171ee2052078e"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:28eefebddec3d3adf19baca78f8b82a2287d358e1b1575ae018cdca8eacc6269"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ef8c696e9d78676cc3f583a92bbbf2c84e94e350f7ad22f150a52559f4599d1"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9aeb5949e46558d21c51fd3ec3eeecc59c94dbca76c67c0a80d3da6b7437930c"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f7144aad9396d35fb1b80429600a970b559c2ad4d07020eeb180fe83cea2bee"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4ee26e9253a721fff355737649678535f76cf5d642aa3ac0cd937832559b90af"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-win32.whl", hash = "sha256:343f572312039059a8797d6e29a7fc62196e73131ab01755660a9d48202267c1"}, - {file = "grpcio_tools-1.58.0-cp38-cp38-win_amd64.whl", hash = "sha256:cd7acfbb43b7338a78cf4a67528d05530d574d92b7c829d185b78dfc451d158f"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:46628247fbce86d18232eead24bd22ed0826c79f3fe2fc2fbdbde45971361049"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:51587842a54e025a3d0d37afcf4ef2b7ac1def9a5d17448665cb424b53d6c287"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:a062ae3072a2a39a3c057f4d68b57b021f1dd2956cd09aab39709f6af494e1de"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eec3c93a08df11c80ef1c29a616bcbb0d83dbc6ea41b48306fcacc720416dfa7"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b63f823ac991ff77104da614d2a2485a59d37d57830eb2e387a6e2a3edc7fa2b"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:579c11a9f198847ed48dbc4f211c67fe96a73320b87c81f01b044b72e24a7d77"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6ca2fc1dd8049d417a5034d944c9df05cee76f855b3e431627ab4292e7c01c47"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-win32.whl", hash = "sha256:453023120114c35d3d9d6717ea0820e5d5c140f51f9d0b621de4397ff854471b"}, - {file = "grpcio_tools-1.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:b6c896f1df99c35cf062d4803c15663ff00a33ff09add28baa6e475cf6b5e258"}, + {file = "grpcio-tools-1.59.0.tar.gz", hash = "sha256:aa4018f2d8662ac4d9830445d3d253a11b3e096e8afe20865547137aa1160e93"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:882b809b42b5464bee55288f4e60837297f9618e53e69ae3eea6d61b05ce48fa"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:4499d4bc5aa9c7b645018d8b0db4bebd663d427aabcd7bee7777046cb1bcbca7"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f381ae3ad6a5eb27aad8d810438937d8228977067c54e0bd456fce7e11fdbf3d"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1c684c0d9226d04cadafced620a46ab38c346d0780eaac7448da96bf12066a3"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40cbf712769242c2ba237745285ef789114d7fcfe8865fc4817d87f20015e99a"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1df755951f204e65bf9232a9cac5afe7d6b8e4c87ac084d3ecd738fdc7aa4174"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de156c18b0c638aaee3be6ad650c8ba7dec94ed4bac26403aec3dce95ffe9407"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-win32.whl", hash = "sha256:9af7e138baa9b2895cf1f3eb718ac96fc5ae2f8e31fca405e21e0e5cd1643c52"}, + {file = "grpcio_tools-1.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:f14a6e4f700dfd30ff8f0e6695f944affc16ae5a1e738666b3fae4e44b65637e"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:db030140d0da2368319e2f23655df3baec278c7e0078ecbe051eaf609a69382c"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:eeed386971bb8afc3ec45593df6a1154d680d87be1209ef8e782e44f85f47e64"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:962d1a3067129152cee3e172213486cb218a6bad703836991f46f216caefcf00"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26eb2eebf150a33ebf088e67c1acf37eb2ac4133d9bfccbaa011ad2148c08b42"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b2d6da553980c590487f2e7fd3ec9c1ad8805ff2ec77977b92faa7e3ca14e1f"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:335e2f355a0c544a88854e2c053aff8a3f398b84a263a96fa19d063ca1fe513a"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:204e08f807b1d83f5f0efea30c4e680afe26a43dec8ba614a45fa698a7ef0a19"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-win32.whl", hash = "sha256:05bf7b3ed01c8a562bb7e840f864c58acedbd6924eb616367c0bd0a760bdf483"}, + {file = "grpcio_tools-1.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:df85096fcac7cea8aa5bd84b7a39c4cdbf556b93669bb4772eb96aacd3222a4e"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:240a7a3c2c54f77f1f66085a635bca72003d02f56a670e7db19aec531eda8f78"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:6119f62c462d119c63227b9534210f0f13506a888151b9bf586f71e7edf5088b"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:387662bee8e4c0b52cc0f61eaaca0ca583f5b227103f685b76083a3590a71a3e"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f0da5861ee276ca68493b217daef358960e8527cc63c7cb292ca1c9c54939af"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0f0806de1161c7f248e4c183633ee7a58dfe45c2b77ddf0136e2e7ad0650b1b"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c683be38a9bf4024c223929b4cd2f0a0858c94e9dc8b36d7eaa5a48ce9323a6f"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f965707da2b48a33128615bcfebedd215a3a30e346447e885bb3da37a143177a"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-win32.whl", hash = "sha256:2ee960904dde12a7fa48e1591a5b3eeae054bdce57bacf9fd26685a98138f5bf"}, + {file = "grpcio_tools-1.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:71cc6db1d66da3bc3730d9937bddc320f7b1f1dfdff6342bcb5741515fe4110b"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:f6263b85261b62471cb97b7505df72d72b8b62e5e22d8184924871a6155b4dbf"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:b8e95d921cc2a1521d4750eedefec9f16031457920a6677edebe9d1b2ad6ae60"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:cb63055739808144b541986291679d643bae58755d0eb082157c4d4c04443905"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c4634b3589efa156a8d5860c0a2547315bd5c9e52d14c960d716fe86e0927be"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d970aa26854f535ffb94ea098aa8b43de020d9a14682e4a15dcdaeac7801b27"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:821dba464d84ebbcffd9d420302404db2fa7a40c7ff4c4c4c93726f72bfa2769"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0548e901894399886ff4a4cd808cb850b60c021feb4a8977a0751f14dd7e55d9"}, + {file = "grpcio_tools-1.59.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bb87158dbbb9e5a79effe78d54837599caa16df52d8d35366e06a91723b587ae"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:1d551ff42962c7c333c3da5c70d5e617a87dee581fa2e2c5ae2d5137c8886779"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:4ee443abcd241a5befb05629013fbf2eac637faa94aaa3056351aded8a31c1bc"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:520c0c83ea79d14b0679ba43e19c64ca31d30926b26ad2ca7db37cbd89c167e2"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9fc02a6e517c34dcf885ff3b57260b646551083903e3d2c780b4971ce7d4ab7c"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6aec8a4ed3808b7dfc1276fe51e3e24bec0eeaf610d395bcd42934647cf902a3"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99b3bde646720bbfb77f263f5ba3e1a0de50632d43c38d405a0ef9c7e94373cd"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:51d9595629998d8b519126c5a610f15deb0327cd6325ed10796b47d1d292e70b"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-win32.whl", hash = "sha256:bfa4b2b7d21c5634b62e5f03462243bd705adc1a21806b5356b8ce06d902e160"}, + {file = "grpcio_tools-1.59.0-cp38-cp38-win_amd64.whl", hash = "sha256:9ed05197c5ab071e91bcef28901e97ca168c4ae94510cb67a14cb4931b94255a"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:498e7be0b14385980efa681444ba481349c131fc5ec88003819f5d929646947c"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b519f2ecde9a579cad2f4a7057d5bb4e040ad17caab8b5e691ed7a13b9db0be9"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:ef3e8aca2261f7f07436d4e2111556c1fb9bf1f9cfcdf35262743ccdee1b6ce9"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27a7f226b741b2ebf7e2d0779d2c9b17f446d1b839d59886c1619e62cc2ae472"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:784aa52965916fec5afa1a28eeee6f0073bb43a2a1d7fedf963393898843077a"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e312ddc2d8bec1a23306a661ad52734f984c9aad5d8f126ebb222a778d95407d"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:868892ad9e00651a38dace3e4924bae82fc4fd4df2c65d37b74381570ee8deb1"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-win32.whl", hash = "sha256:a4f6cae381f21fee1ef0a5cbbbb146680164311157ae618edf3061742d844383"}, + {file = "grpcio_tools-1.59.0-cp39-cp39-win_amd64.whl", hash = "sha256:4a10e59cca462208b489478340b52a96d64e8b8b6f1ac097f3e8cb211d3f66c0"}, ] [package.dependencies] -grpcio = ">=1.58.0" +grpcio = ">=1.59.0" protobuf = ">=4.21.6,<5.0dev" setuptools = "*" @@ -641,13 +684,13 @@ files = [ [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -663,13 +706,13 @@ files = [ [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -712,35 +755,63 @@ test = ["mypy", "pytest", "pytest-cov", "pytest-sugar", "pytest-xdist", "tox", " [[package]] name = "protobuf" -version = "4.24.3" +version = "4.24.4" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "protobuf-4.24.3-cp310-abi3-win32.whl", hash = "sha256:20651f11b6adc70c0f29efbe8f4a94a74caf61b6200472a9aea6e19898f9fcf4"}, - {file = "protobuf-4.24.3-cp310-abi3-win_amd64.whl", hash = "sha256:3d42e9e4796a811478c783ef63dc85b5a104b44aaaca85d4864d5b886e4b05e3"}, - {file = "protobuf-4.24.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6e514e8af0045be2b56e56ae1bb14f43ce7ffa0f68b1c793670ccbe2c4fc7d2b"}, - {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:ba53c2f04798a326774f0e53b9c759eaef4f6a568ea7072ec6629851c8435959"}, - {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:f6ccbcf027761a2978c1406070c3788f6de4a4b2cc20800cc03d52df716ad675"}, - {file = "protobuf-4.24.3-cp37-cp37m-win32.whl", hash = "sha256:1b182c7181a2891e8f7f3a1b5242e4ec54d1f42582485a896e4de81aa17540c2"}, - {file = "protobuf-4.24.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b0271a701e6782880d65a308ba42bc43874dabd1a0a0f41f72d2dac3b57f8e76"}, - {file = "protobuf-4.24.3-cp38-cp38-win32.whl", hash = "sha256:e29d79c913f17a60cf17c626f1041e5288e9885c8579832580209de8b75f2a52"}, - {file = "protobuf-4.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:067f750169bc644da2e1ef18c785e85071b7c296f14ac53e0900e605da588719"}, - {file = "protobuf-4.24.3-cp39-cp39-win32.whl", hash = "sha256:2da777d34b4f4f7613cdf85c70eb9a90b1fbef9d36ae4a0ccfe014b0b07906f1"}, - {file = "protobuf-4.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:f631bb982c5478e0c1c70eab383af74a84be66945ebf5dd6b06fc90079668d0b"}, - {file = "protobuf-4.24.3-py3-none-any.whl", hash = "sha256:f6f8dc65625dadaad0c8545319c2e2f0424fede988368893ca3844261342c11a"}, - {file = "protobuf-4.24.3.tar.gz", hash = "sha256:12e9ad2ec079b833176d2921be2cb24281fa591f0b119b208b788adc48c2561d"}, + {file = "protobuf-4.24.4-cp310-abi3-win32.whl", hash = "sha256:ec9912d5cb6714a5710e28e592ee1093d68c5ebfeda61983b3f40331da0b1ebb"}, + {file = "protobuf-4.24.4-cp310-abi3-win_amd64.whl", hash = "sha256:1badab72aa8a3a2b812eacfede5020472e16c6b2212d737cefd685884c191085"}, + {file = "protobuf-4.24.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e61a27f362369c2f33248a0ff6896c20dcd47b5d48239cb9720134bef6082e4"}, + {file = "protobuf-4.24.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:bffa46ad9612e6779d0e51ae586fde768339b791a50610d85eb162daeb23661e"}, + {file = "protobuf-4.24.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:b493cb590960ff863743b9ff1452c413c2ee12b782f48beca77c8da3e2ffe9d9"}, + {file = "protobuf-4.24.4-cp37-cp37m-win32.whl", hash = "sha256:dbbed8a56e56cee8d9d522ce844a1379a72a70f453bde6243e3c86c30c2a3d46"}, + {file = "protobuf-4.24.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6b7d2e1c753715dcfe9d284a25a52d67818dd43c4932574307daf836f0071e37"}, + {file = "protobuf-4.24.4-cp38-cp38-win32.whl", hash = "sha256:02212557a76cd99574775a81fefeba8738d0f668d6abd0c6b1d3adcc75503dbe"}, + {file = "protobuf-4.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:2fa3886dfaae6b4c5ed2730d3bf47c7a38a72b3a1f0acb4d4caf68e6874b947b"}, + {file = "protobuf-4.24.4-cp39-cp39-win32.whl", hash = "sha256:b77272f3e28bb416e2071186cb39efd4abbf696d682cbb5dc731308ad37fa6dd"}, + {file = "protobuf-4.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:9fee5e8aa20ef1b84123bb9232b3f4a5114d9897ed89b4b8142d81924e05d79b"}, + {file = "protobuf-4.24.4-py3-none-any.whl", hash = "sha256:80797ce7424f8c8d2f2547e2d42bfbb6c08230ce5832d6c099a37335c9c90a92"}, + {file = "protobuf-4.24.4.tar.gz", hash = "sha256:5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667"}, +] + +[[package]] +name = "psutil" +version = "5.9.6" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, + {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, + {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, + {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, + {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, + {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, + {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, + {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, + {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, + {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, + {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, + {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, + {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, + {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, + {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, + {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, ] +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + [[package]] name = "pytest" -version = "7.4.2" +version = "7.4.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, - {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, + {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, + {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, ] [package.dependencies] @@ -754,21 +825,74 @@ tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +[[package]] +name = "pytest-asyncio" +version = "0.21.1" +description = "Pytest support for asyncio" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-asyncio-0.21.1.tar.gz", hash = "sha256:40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"}, + {file = "pytest_asyncio-0.21.1-py3-none-any.whl", hash = "sha256:8666c1c8ac02631d7c51ba282e0c69a8a452b211ffedf2599099845da5c5c37b"}, +] + +[package.dependencies] +pytest = ">=7.0.0" + +[package.extras] +docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] +testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] + +[[package]] +name = "pytest-xdist" +version = "3.3.1" +description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-xdist-3.3.1.tar.gz", hash = "sha256:d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93"}, + {file = "pytest_xdist-3.3.1-py3-none-any.whl", hash = "sha256:ff9daa7793569e6a68544850fd3927cd257cc03a7ef76c95e86915355e82b5f2"}, +] + +[package.dependencies] +execnet = ">=1.1" +psutil = {version = ">=3.0", optional = true, markers = "extra == \"psutil\""} +pytest = ">=6.2.0" + +[package.extras] +psutil = ["psutil (>=3.0)"] +setproctitle = ["setproctitle"] +testing = ["filelock"] + +[[package]] +name = "python-dotenv" +version = "1.0.0" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, + {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + [[package]] name = "setuptools" -version = "68.2.0" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.0-py3-none-any.whl", hash = "sha256:af3d5949030c3f493f550876b2fd1dd5ec66689c4ee5d5344f009746f71fd5a8"}, - {file = "setuptools-68.2.0.tar.gz", hash = "sha256:00478ca80aeebeecb2f288d3206b0de568df5cd2b8fada1209843cc9a8d88a48"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "sonora" @@ -800,28 +924,28 @@ files = [ [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [[package]] name = "urllib3" -version = "1.26.16" +version = "1.26.18" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, - {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, + {file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"}, + {file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] @@ -915,4 +1039,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "bc14a1ee5fe02e527ed7052417e4b4715b4df1c4566e27bfeef1ed165519f496" +content-hash = "b502eb2a6342e2dda15dc17275ef37fdf9c52f29153f235a87b109a4e6d7f5e3" diff --git a/pyproject.toml b/pyproject.toml index 3652cfb..15caf9b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["poetry>=0.12"] +requires = ["poetry>=0.12", "grpcio-tools"] build-backend = "poetry.core.masonry.api" [tool.poetry] @@ -23,17 +23,28 @@ aiohttp = "^3.8.5" protobuf = "^4.24.3" grpcio = "^1.58" python = "^3.10" +proto-compile = "^0.1.7" +python-dotenv = "^1.0.0" [tool.poetry.urls] "Bug Tracker" = "https://github.com/community-network/bfportal-grpc/issues" -[tool.poetry.dev-dependencies] +[tool.poetry.scripts] +compile-proto = "bfportal_grpc.helpers.compile:compile_proto" + + +[tool.poetry.group.dev.dependencies] pytest = "*" sonora = "*" -grpcio-tools = "^1.58" -proto-compile = "*" black = "*" isort = "*" +grpcio-tools = "^1.59.0" +pytest-xdist = {extras = ["psutil"], version = "^3.3.1"} +pytest-asyncio = "^0.21.1" + +[tool.poetry.build] +generate-setup-file = false +script = "bfportal_grpc/helpers/compile.py" [tool.isort] profile = "black" @@ -47,3 +58,11 @@ strict = true [[tool.mypy.overrides]] module = "feedparser" ignore_missing_imports = true + +[tool.pytest.ini_options] +asyncio_mode="auto" +testpaths = ["tests"] +addopts = [ + "--import-mode=importlib", +] + diff --git a/setup.py b/setup.py deleted file mode 100644 index fc1f76c..0000000 --- a/setup.py +++ /dev/null @@ -1,3 +0,0 @@ -from setuptools import setup - -setup() \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..999ebf9 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,38 @@ +import os +import pytest +import sonora.aio +from dotenv import load_dotenv + +load_dotenv() + + + +@pytest.fixture() +def gateway_session_id() -> str: + _ = os.getenv("GATEWAY_SESSION_ID", None) + if _ is None: + pytest.fail("GATEWAY_SESSION_ID env variable needs to be set.") + return _ + + +@pytest.fixture() +def request_metadata(gateway_session_id): + return ( + ("x-dice-tenancy", "prod_default-prod_default-kingston-common"), + ("x-gateway-session-id", gateway_session_id), + ("x-grpc-web", "1"), + ("x-user-agent", "grpc-web-javascript/0.1"), + ) + + +@pytest.fixture() +def playground_id() -> str: + return "a56cf4d0-c713-11ec-b056-e3dbf89f52ce" + + +@pytest.fixture +async def web_channel() -> "sonora.aio.WebChannel": + async with sonora.aio.insecure_web_channel( + f"https://kingston-prod-wgw-envoy.ops.dice.se" + ) as channel: + yield channel diff --git a/tests/test_communitygames.py b/tests/test_communitygames.py index 794eb8e..23ee70d 100644 --- a/tests/test_communitygames.py +++ b/tests/test_communitygames.py @@ -1,19 +1,28 @@ -import asyncio -import sonora.aio -from bfportal_grpc import communitygames_pb2, communitygames_pb2_grpc +import pytest +from bfportal_grpc import communitygames_pb2 +from bfportal_grpc.proto.communitygames_pb2_grpc import CommunityGamesStub -async def test__playground(): - async with sonora.aio.insecure_web_channel( - f"https://kingston-prod-wgw-envoy.ops.dice.se" - ) as channel: - stub = communitygames_pb2_grpc.CommunityGamesStub(channel) - response: communitygames_pb2.PlaygroundInfoResponse = await stub.getPlayground(communitygames_pb2.GetPlaygroundRequest(playgroundId="10992a10-461a-11ec-8de0-d9f491f92236"), metadata=( - ('x-dice-tenancy', 'prod_default-prod_default-kingston-common'), - ('x-gateway-session-id', 'web-c6b312c9-2520-4fde-958d-60ae71840a65'), - ('x-grpc-web', '1'), - ('x-user-agent', 'grpc-web-javascript/0.1') - )) - assert isinstance(response.playground.originalPlayground.name, str) - -if __name__ == "__main__": - asyncio.run(test__playground()) \ No newline at end of file + +@pytest.fixture +def stub(web_channel) -> CommunityGamesStub: + yield CommunityGamesStub(web_channel) + + +async def test_get_playground(playground_id, request_metadata, stub): + response: communitygames_pb2.PlaygroundInfoResponse = await stub.getPlayground( + communitygames_pb2.GetPlaygroundRequest(playgroundId=playground_id), + metadata=request_metadata, + ) + playground = response.playground.validatedPlayground + + assert playground is not None + assert playground.playgroundId == playground_id + assert playground.name == "Portal Helper Discord Bot's Api test field" + + +async def test_share_playground(playground_id, request_metadata, stub): + response: communitygames_pb2.SharePlaygroundResponse = await stub.sharePlayground( + communitygames_pb2.SharePlaygroundRequest(playgroundId=playground_id), + metadata=request_metadata + ) + assert response.shortCode.code == "aau5d1" diff --git a/tests/test_localization.py b/tests/test_localization.py index 00867ae..4e533e9 100644 --- a/tests/test_localization.py +++ b/tests/test_localization.py @@ -1,19 +1,11 @@ -import asyncio -import sonora.aio from bfportal_grpc import localization_pb2, localization_pb2_grpc -async def test_localization(): - async with sonora.aio.insecure_web_channel( - f"https://kingston-prod-wgw-envoy.ops.dice.se" - ) as channel: - stub = localization_pb2_grpc.ClientLocalizationStub(channel) - response: localization_pb2.GetTranslationsResponse = await stub.getTranslations(localization_pb2.GetTranslationsRequest(locale="ru-RU"), metadata=( - ('x-dice-tenancy', 'prod_default-prod_default-kingston-common'), - ('x-gateway-session-id', 'web-34daba86-0e80-47e4-9a9b-57291a5dc655'), - ('x-grpc-web', '1'), - ('x-user-agent', 'grpc-web-javascript/0.1') - )) - print(response) - -if __name__ == "__main__": - asyncio.run(test_localization()) \ No newline at end of file + +async def test_localization(request_metadata, web_channel): + stub = localization_pb2_grpc.ClientLocalizationStub(web_channel) + response: localization_pb2.GetTranslationsResponse = await stub.getTranslations( + localization_pb2.GetTranslationsRequest(locale="en-US"), + metadata=request_metadata, + ) + + assert response is not None