# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: eolymp/atlas/atlas.proto

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from eolymp.annotations import http_pb2 as eolymp_dot_annotations_dot_http__pb2
from eolymp.annotations import scope_pb2 as eolymp_dot_annotations_dot_scope__pb2
from eolymp.annotations import ratelimit_pb2 as eolymp_dot_annotations_dot_ratelimit__pb2
from eolymp.executor import verifier_pb2 as eolymp_dot_executor_dot_verifier__pb2
from eolymp.executor import interactor_pb2 as eolymp_dot_executor_dot_interactor__pb2
from eolymp.wellknown import expression_pb2 as eolymp_dot_wellknown_dot_expression__pb2
from eolymp.atlas import category_pb2 as eolymp_dot_atlas_dot_category__pb2
from eolymp.atlas import change_pb2 as eolymp_dot_atlas_dot_change__pb2
from eolymp.atlas import permission_pb2 as eolymp_dot_atlas_dot_permission__pb2
from eolymp.atlas import problem_pb2 as eolymp_dot_atlas_dot_problem__pb2
from eolymp.atlas import score_pb2 as eolymp_dot_atlas_dot_score__pb2
from eolymp.atlas import solution_pb2 as eolymp_dot_atlas_dot_solution__pb2
from eolymp.atlas import statement_pb2 as eolymp_dot_atlas_dot_statement__pb2
from eolymp.atlas import submission_pb2 as eolymp_dot_atlas_dot_submission__pb2
from eolymp.atlas import template_pb2 as eolymp_dot_atlas_dot_template__pb2
from eolymp.atlas import test_pb2 as eolymp_dot_atlas_dot_test__pb2
from eolymp.atlas import testset_pb2 as eolymp_dot_atlas_dot_testset__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='eolymp/atlas/atlas.proto',
  package='eolymp.atlas',
  syntax='proto3',
  serialized_options=b'Z1github.com/eolymp/contracts/go/eolymp/atlas;atlas',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\x18\x65olymp/atlas/atlas.proto\x12\x0c\x65olymp.atlas\x1a\x1d\x65olymp/annotations/http.proto\x1a\x1e\x65olymp/annotations/scope.proto\x1a\"eolymp/annotations/ratelimit.proto\x1a\x1e\x65olymp/executor/verifier.proto\x1a eolymp/executor/interactor.proto\x1a!eolymp/wellknown/expression.proto\x1a\x1b\x65olymp/atlas/category.proto\x1a\x19\x65olymp/atlas/change.proto\x1a\x1d\x65olymp/atlas/permission.proto\x1a\x1a\x65olymp/atlas/problem.proto\x1a\x18\x65olymp/atlas/score.proto\x1a\x1b\x65olymp/atlas/solution.proto\x1a\x1c\x65olymp/atlas/statement.proto\x1a\x1d\x65olymp/atlas/submission.proto\x1a\x1b\x65olymp/atlas/template.proto\x1a\x17\x65olymp/atlas/test.proto\x1a\x1a\x65olymp/atlas/testset.proto\"\xc2\x02\n\x11ListProblemsInput\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x37\n\x07\x66ilters\x18( \x01(\x0b\x32&.eolymp.atlas.ListProblemsInput.Filter\x1a\xd5\x01\n\x06\x46ilter\x12*\n\x02id\x18\x01 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x33\n\x0b\x63\x61tegory_id\x18\x02 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x34\n\nis_visible\x18\x03 \x03(\x0b\x32 .eolymp.wellknown.ExpressionBool\x12\x34\n\nis_private\x18\x04 \x03(\x0b\x32 .eolymp.wellknown.ExpressionBool\"I\n\x12ListProblemsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12$\n\x05items\x18\x02 \x03(\x0b\x32\x15.eolymp.atlas.Problem\"<\n\x12\x43reateProblemInput\x12&\n\x07problem\x18\x01 \x01(\x0b\x32\x15.eolymp.atlas.Problem\")\n\x13\x43reateProblemOutput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"(\n\x12\x44\x65leteProblemInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65leteProblemOutput\"*\n\x14\x44\x65scribeProblemInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"?\n\x15\x44\x65scribeProblemOutput\x12&\n\x07problem\x18\x01 \x01(\x0b\x32\x15.eolymp.atlas.Problem\")\n\x13ListStatementsInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"M\n\x14ListStatementsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12&\n\x05items\x18\x02 \x03(\x0b\x32\x17.eolymp.atlas.Statement\".\n\x16\x44\x65scribeStatementInput\x12\x14\n\x0cstatement_id\x18\x01 \x01(\t\"E\n\x17\x44\x65scribeStatementOutput\x12*\n\tstatement\x18\x01 \x01(\x0b\x32\x17.eolymp.atlas.Statement\"V\n\x14\x43reateStatementInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12*\n\tstatement\x18\x02 \x01(\x0b\x32\x17.eolymp.atlas.Statement\"#\n\x15\x43reateStatementOutput\x12\n\n\x02id\x18\x01 \x01(\t\"X\n\x14UpdateStatementInput\x12\x14\n\x0cstatement_id\x18\x01 \x01(\t\x12*\n\tstatement\x18\x02 \x01(\x0b\x32\x17.eolymp.atlas.Statement\"\x17\n\x15UpdateStatementOutput\",\n\x14\x44\x65leteStatementInput\x12\x14\n\x0cstatement_id\x18\x01 \x01(\t\"\x17\n\x15\x44\x65leteStatementOutput\"V\n\x13UpdateVerifierInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12+\n\x08verifier\x18\x02 \x01(\x0b\x32\x19.eolymp.executor.Verifier\"\x16\n\x14UpdateVerifierOutput\"+\n\x15\x44\x65scribeVerifierInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"E\n\x16\x44\x65scribeVerifierOutput\x12+\n\x08verifier\x18\x01 \x01(\x0b\x32\x19.eolymp.executor.Verifier\"\\\n\x15UpdateInteractorInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12/\n\ninteractor\x18\x02 \x01(\x0b\x32\x1b.eolymp.executor.Interactor\"\x18\n\x16UpdateInteractorOutput\"-\n\x17\x44\x65scribeInteractorInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"K\n\x18\x44\x65scribeInteractorOutput\x12/\n\ninteractor\x18\x01 \x01(\x0b\x32\x1b.eolymp.executor.Interactor\"\'\n\x11ListTestsetsInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"I\n\x12ListTestsetsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12$\n\x05items\x18\x02 \x03(\x0b\x32\x15.eolymp.atlas.Testset\"*\n\x14\x44\x65scribeTestsetInput\x12\x12\n\ntestset_id\x18\x01 \x01(\t\"?\n\x15\x44\x65scribeTestsetOutput\x12&\n\x07testset\x18\x01 \x01(\x0b\x32\x15.eolymp.atlas.Testset\"P\n\x12\x43reateTestsetInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12&\n\x07testset\x18\x02 \x01(\x0b\x32\x15.eolymp.atlas.Testset\"!\n\x13\x43reateTestsetOutput\x12\n\n\x02id\x18\x01 \x01(\t\"P\n\x12UpdateTestsetInput\x12\x12\n\ntestset_id\x18\x01 \x01(\t\x12&\n\x07testset\x18\x02 \x01(\x0b\x32\x15.eolymp.atlas.Testset\"\x15\n\x13UpdateTestsetOutput\"(\n\x12\x44\x65leteTestsetInput\x12\x12\n\ntestset_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65leteTestsetOutput\"\'\n\x11ListExamplesInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\":\n\x12ListExamplesOutput\x12$\n\x08\x65xamples\x18\x02 \x03(\x0b\x32\x12.eolymp.atlas.Test\"$\n\x0eListTestsInput\x12\x12\n\ntestset_id\x18\x01 \x01(\t\"C\n\x0fListTestsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12!\n\x05items\x18\x02 \x03(\x0b\x32\x12.eolymp.atlas.Test\"$\n\x11\x44\x65scribeTestInput\x12\x0f\n\x07test_id\x18\x01 \x01(\t\"6\n\x12\x44\x65scribeTestOutput\x12 \n\x04test\x18\x01 \x01(\x0b\x32\x12.eolymp.atlas.Test\"G\n\x0f\x43reateTestInput\x12\x12\n\ntestset_id\x18\x01 \x01(\t\x12 \n\x04test\x18\x02 \x01(\x0b\x32\x12.eolymp.atlas.Test\"\x1e\n\x10\x43reateTestOutput\x12\n\n\x02id\x18\x01 \x01(\t\"D\n\x0fUpdateTestInput\x12\x0f\n\x07test_id\x18\x01 \x01(\t\x12 \n\x04test\x18\x02 \x01(\x0b\x32\x12.eolymp.atlas.Test\"\x12\n\x10UpdateTestOutput\"\"\n\x0f\x44\x65leteTestInput\x12\x0f\n\x07test_id\x18\x01 \x01(\t\"\x12\n\x10\x44\x65leteTestOutput\"*\n\x14ListPermissionsInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"@\n\x15ListPermissionsOutput\x12\'\n\x05items\x18\x02 \x03(\x0b\x32\x18.eolymp.atlas.Permission\"X\n\x14GrantPermissionInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12,\n\npermission\x18\x02 \x01(\x0b\x32\x18.eolymp.atlas.Permission\"\x17\n\x15GrantPermissionOutput\"<\n\x15RevokePermissionInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x18\n\x16RevokePermissionOutput\"W\n\x17\x43reateCodeTemplateInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12(\n\x08template\x18\x02 \x01(\x0b\x32\x16.eolymp.atlas.Template\"/\n\x18\x43reateCodeTemplateOutput\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\"X\n\x17UpdateCodeTemplateInput\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\x12(\n\x08template\x18\x02 \x01(\x0b\x32\x16.eolymp.atlas.Template\"\x1a\n\x18UpdateCodeTemplateOutput\".\n\x17\x44\x65leteCodeTemplateInput\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\"\x1a\n\x18\x44\x65leteCodeTemplateOutput\",\n\x16ListCodeTemplatesInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"O\n\x17ListCodeTemplatesOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12%\n\x05items\x18\x02 \x03(\x0b\x32\x16.eolymp.atlas.Template\"0\n\x19\x44\x65scribeCodeTemplateInput\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\"F\n\x1a\x44\x65scribeCodeTemplateOutput\x12(\n\x08template\x18\x01 \x01(\x0b\x32\x16.eolymp.atlas.Template\"(\n\x13\x44\x65scribeChangeInput\x12\x11\n\tchange_id\x18\x01 \x01(\t\"<\n\x14\x44\x65scribeChangeOutput\x12$\n\x06\x63hange\x18\x01 \x01(\x0b\x32\x14.eolymp.atlas.Change\"\x82\x03\n\x10ListChangesInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x36\n\x07\x66ilters\x18( \x01(\x0b\x32%.eolymp.atlas.ListChangesInput.Filter\x1a\x83\x02\n\x06\x46ilter\x12*\n\x02id\x18\x01 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x32\n\nip_address\x18\x02 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12/\n\x07user_id\x18\x03 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x38\n\ttimestamp\x18\x04 \x03(\x0b\x32%.eolymp.wellknown.ExpressionTimestamp\x12.\n\x04type\x18\x05 \x03(\x0b\x32 .eolymp.wellknown.ExpressionEnum\"G\n\x11ListChangesOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12#\n\x05items\x18\x02 \x03(\x0b\x32\x14.eolymp.atlas.Change\")\n\x13ListProblemTopInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"?\n\x14ListProblemTopOutput\x12\'\n\x05items\x18\x02 \x03(\x0b\x32\x18.eolymp.atlas.Submission\"1\n\x1b\x44\x65scribeProblemGradingInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\"\x8d\x01\n\x1c\x44\x65scribeProblemGradingOutput\x12@\n\x06ranges\x18\x02 \x03(\x0b\x32\x30.eolymp.atlas.DescribeProblemGradingOutput.Range\x1a+\n\x05Range\x12\r\n\x05grade\x18\x01 \x01(\r\x12\x13\n\x0bupper_bound\x18\x02 \x01(\x02\"S\n\x13\x43reateSolutionInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12(\n\x08solution\x18\x02 \x01(\x0b\x32\x16.eolymp.atlas.Solution\"+\n\x14\x43reateSolutionOutput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"T\n\x13UpdateSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12(\n\x08solution\x18\x02 \x01(\x0b\x32\x16.eolymp.atlas.Solution\"\x16\n\x14UpdateSolutionOutput\"*\n\x13\x44\x65leteSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteSolutionOutput\"\xac\x03\n\x12ListSolutionsInput\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x38\n\x07\x66ilters\x18( \x01(\x0b\x32\'.eolymp.atlas.ListSolutionsInput.Filter\x1a\xbd\x02\n\x06\x46ilter\x12*\n\x02id\x18\x01 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x32\n\nproblem_id\x18\x02 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x31\n\tauthor_id\x18\x03 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12;\n\x11moderation_status\x18\x04 \x03(\x0b\x32 .eolymp.wellknown.ExpressionEnum\x12\x33\n\tpublished\x18\x05 \x03(\x0b\x32 .eolymp.wellknown.ExpressionBool\x12.\n\x04lang\x18\x06 \x03(\x0b\x32 .eolymp.wellknown.ExpressionEnum\"K\n\x13ListSolutionsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12%\n\x05items\x18\x02 \x03(\x0b\x32\x16.eolymp.atlas.Solution\",\n\x15\x44\x65scribeSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"B\n\x16\x44\x65scribeSolutionOutput\x12(\n\x08solution\x18\x01 \x01(\x0b\x32\x16.eolymp.atlas.Solution\"+\n\x14PublishSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"\x17\n\x15PublishSolutionOutput\"-\n\x16UnpublishSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"\x19\n\x17UnpublishSolutionOutput\"+\n\x14\x41pproveSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\"\x17\n\x15\x41pproveSolutionOutput\";\n\x13RefuseSolutionInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\"\x16\n\x14RefuseSolutionOutput\"\x8e\x02\n\x13ListCategoriesInput\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x39\n\x07\x66ilters\x18( \x01(\x0b\x32(.eolymp.atlas.ListCategoriesInput.Filter\x1a\x9d\x01\n\x06\x46ilter\x12*\n\x02id\x18\x01 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x31\n\tparent_id\x18\x02 \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x34\n\nis_visible\x18\x03 \x03(\x0b\x32 .eolymp.wellknown.ExpressionBool\"L\n\x14ListCategoriesOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12%\n\x05items\x18\x02 \x03(\x0b\x32\x16.eolymp.atlas.Category\"?\n\x13\x43reateCategoryInput\x12(\n\x08\x63\x61tegory\x18\x01 \x01(\x0b\x32\x16.eolymp.atlas.Category\"+\n\x14\x43reateCategoryOutput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\"T\n\x13UpdateCategoryInput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\x12(\n\x08\x63\x61tegory\x18\x02 \x01(\x0b\x32\x16.eolymp.atlas.Category\"\x16\n\x14UpdateCategoryOutput\"*\n\x13\x44\x65leteCategoryInput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteCategoryOutput\",\n\x15\x44\x65scribeCategoryInput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\"B\n\x16\x44\x65scribeCategoryOutput\x12(\n\x08\x63\x61tegory\x18\x01 \x01(\x0b\x32\x16.eolymp.atlas.Category\"M\n\x13\x41ssignCategoryInput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\x12\x12\n\nproblem_id\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\r\"\x16\n\x14\x41ssignCategoryOutput\"@\n\x15UnassignCategoryInput\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\x12\x12\n\nproblem_id\x18\x02 \x01(\t\"\x18\n\x16UnassignCategoryOutput\"I\n\x15\x43reateSubmissionInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0c\n\x04lang\x18\x02 \x01(\t\x12\x0e\n\x06source\x18\x03 \x01(\t\"/\n\x16\x43reateSubmissionOutput\x12\x15\n\rsubmission_id\x18\x01 \x01(\t\"0\n\x17\x44\x65scribeSubmissionInput\x12\x15\n\rsubmission_id\x18\x01 \x01(\t\"H\n\x18\x44\x65scribeSubmissionOutput\x12,\n\nsubmission\x18\x01 \x01(\x0b\x32\x18.eolymp.atlas.Submission\"9\n\x12\x44\x65scribeScoreInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"9\n\x13\x44\x65scribeScoreOutput\x12\"\n\x05score\x18\x01 \x01(\x0b\x32\x13.eolymp.atlas.Score\"<\n\x15UpdateVisibilityInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0f\n\x07visible\x18\x02 \x01(\x08\"\x18\n\x16UpdateVisibilityOutput\"9\n\x12UpdatePrivacyInput\x12\x12\n\nproblem_id\x18\x01 \x01(\t\x12\x0f\n\x07private\x18\x02 \x01(\x08\"\x15\n\x13UpdatePrivacyOutput2\x8cO\n\x05\x41tlas\x12\xa1\x01\n\rCreateProblem\x12 .eolymp.atlas.CreateProblemInput\x1a!.eolymp.atlas.CreateProblemOutput\"K\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x1b\"\x10/atlas/problems/:\x07problem\x12\xa4\x01\n\rDeleteProblem\x12 .eolymp.atlas.DeleteProblemInput\x1a!.eolymp.atlas.DeleteProblemOutput\"N\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x1e*\x1c/atlas/problems/{problem_id}\x12\x94\x01\n\x0cListProblems\x12\x1f.eolymp.atlas.ListProblemsInput\x1a .eolymp.atlas.ListProblemsOutput\"A\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x12\x12\x10/atlas/problems/\x12\xb2\x01\n\x0f\x44\x65scribeProblem\x12\".eolymp.atlas.DescribeProblemInput\x1a#.eolymp.atlas.DescribeProblemOutput\"V\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\'\x12\x1c/atlas/problems/{problem_id}b\x07problem\x12\xb8\x01\n\x10UpdateVisibility\x12#.eolymp.atlas.UpdateVisibilityInput\x1a$.eolymp.atlas.UpdateVisibilityOutput\"Y\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02)\"\'/atlas/problems/{problem_id}/visibility\x12\xac\x01\n\rUpdatePrivacy\x12 .eolymp.atlas.UpdatePrivacyInput\x1a!.eolymp.atlas.UpdatePrivacyOutput\"V\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02&\"$/atlas/problems/{problem_id}/privacy\x12\xaa\x01\n\x0cListExamples\x12\x1f.eolymp.atlas.ListExamplesInput\x1a .eolymp.atlas.ListExamplesOutput\"W\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02(\x12&/atlas/problems/{problem_id}/examples/\x12\xba\x01\n\x0eUpdateVerifier\x12!.eolymp.atlas.UpdateVerifierInput\x1a\".eolymp.atlas.UpdateVerifierOutput\"a\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x31\x1a%/atlas/problems/{problem_id}/verifier:\x08verifier\x12\xc0\x01\n\x10\x44\x65scribeVerifier\x12#.eolymp.atlas.DescribeVerifierInput\x1a$.eolymp.atlas.DescribeVerifierOutput\"a\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x00@\xf8\xe2\n\n\x82\xd3\xe4\x93\x02\x31\x12%/atlas/problems/{problem_id}/verifierb\x08verifier\x12\xc4\x01\n\x10UpdateInteractor\x12#.eolymp.atlas.UpdateInteractorInput\x1a$.eolymp.atlas.UpdateInteractorOutput\"e\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x35\x1a\'/atlas/problems/{problem_id}/interactor:\ninteractor\x12\xca\x01\n\x12\x44\x65scribeInteractor\x12%.eolymp.atlas.DescribeInteractorInput\x1a&.eolymp.atlas.DescribeInteractorOutput\"e\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x00@\xf8\xe2\n\n\x82\xd3\xe4\x93\x02\x35\x12\'/atlas/problems/{problem_id}/interactorb\ninteractor\x12\xc1\x01\n\x0f\x43reateStatement\x12\".eolymp.atlas.CreateStatementInput\x1a#.eolymp.atlas.CreateStatementOutput\"e\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x35\x1a(/atlas/problems/{problem_id}/statements/:\tstatement\x12\xb9\x01\n\x0fUpdateStatement\x12\".eolymp.atlas.UpdateStatementInput\x1a#.eolymp.atlas.UpdateStatementOutput\"]\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02-\x1a /atlas/statements/{statement_id}:\tstatement\x12\xae\x01\n\x0f\x44\x65leteStatement\x12\".eolymp.atlas.DeleteStatementInput\x1a#.eolymp.atlas.DeleteStatementOutput\"R\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\"* /atlas/statements/{statement_id}\x12\xb2\x01\n\x0eListStatements\x12!.eolymp.atlas.ListStatementsInput\x1a\".eolymp.atlas.ListStatementsOutput\"Y\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02*\x12(/atlas/problems/{problem_id}/statements/\x12\xbe\x01\n\x11\x44\x65scribeStatement\x12$.eolymp.atlas.DescribeStatementInput\x1a%.eolymp.atlas.DescribeStatementOutput\"\\\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02-\x12 /atlas/statements/{statement_id}b\tstatement\x12\xb7\x01\n\rCreateTestset\x12 .eolymp.atlas.CreateTestsetInput\x1a!.eolymp.atlas.CreateTestsetOutput\"a\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n2\x82\xd3\xe4\x93\x02\x31\"&/atlas/problems/{problem_id}/testsets/:\x07testset\x12\xad\x01\n\rUpdateTestset\x12 .eolymp.atlas.UpdateTestsetInput\x1a!.eolymp.atlas.UpdateTestsetOutput\"W\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n2\x82\xd3\xe4\x93\x02\'\x1a\x1c/atlas/testsets/{testset_id}:\x07testset\x12\xa4\x01\n\rDeleteTestset\x12 .eolymp.atlas.DeleteTestsetInput\x1a!.eolymp.atlas.DeleteTestsetOutput\"N\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n2\x82\xd3\xe4\x93\x02\x1e*\x1c/atlas/testsets/{testset_id}\x12\xab\x01\n\x0cListTestsets\x12\x1f.eolymp.atlas.ListTestsetsInput\x1a .eolymp.atlas.ListTestsetsOutput\"X\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00 A\xf8\xe2\n2\x82\xd3\xe4\x93\x02(\x12&/atlas/problems/{problem_id}/testsets/\x12\xb3\x01\n\x0f\x44\x65scribeTestset\x12\".eolymp.atlas.DescribeTestsetInput\x1a#.eolymp.atlas.DescribeTestsetOutput\"W\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00 A\xf8\xe2\n2\x82\xd3\xe4\x93\x02\'\x12\x1c/atlas/testsets/{testset_id}b\x07testset\x12\xa8\x01\n\nCreateTest\x12\x1d.eolymp.atlas.CreateTestInput\x1a\x1e.eolymp.atlas.CreateTestOutput\"[\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0c\xf5\xe2\n\x00\x00 A\xf8\xe2\n\xc8\x01\x82\xd3\xe4\x93\x02*\"\"/atlas/testsets/{testset_id}/tests:\x04test\x12\x9c\x01\n\nUpdateTest\x12\x1d.eolymp.atlas.UpdateTestInput\x1a\x1e.eolymp.atlas.UpdateTestOutput\"O\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0c\xf5\xe2\n\x00\x00 A\xf8\xe2\n\xc8\x01\x82\xd3\xe4\x93\x02\x1e\x1a\x16/atlas/tests/{test_id}:\x04test\x12\x96\x01\n\nDeleteTest\x12\x1d.eolymp.atlas.DeleteTestInput\x1a\x1e.eolymp.atlas.DeleteTestOutput\"I\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0c\xf5\xe2\n\x00\x00 A\xf8\xe2\n\xc8\x01\x82\xd3\xe4\x93\x02\x18*\x16/atlas/tests/{test_id}\x12\x9e\x01\n\tListTests\x12\x1c.eolymp.atlas.ListTestsInput\x1a\x1d.eolymp.atlas.ListTestsOutput\"T\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00 A\xf8\xe2\n2\x82\xd3\xe4\x93\x02$\x12\"/atlas/testsets/{testset_id}/tests\x12\xa1\x01\n\x0c\x44\x65scribeTest\x12\x1f.eolymp.atlas.DescribeTestInput\x1a .eolymp.atlas.DescribeTestOutput\"N\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00 A\xf8\xe2\n2\x82\xd3\xe4\x93\x02\x1e\x12\x16/atlas/tests/{test_id}b\x04test\x12\xc5\x01\n\x0fGrantPermission\x12\".eolymp.atlas.GrantPermissionInput\x1a#.eolymp.atlas.GrantPermissionOutput\"i\x82\xe3\n\x1a\x8a\xe3\n\x16\x61tlas:permission:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x36\"(/atlas/problems/{problem_id}/permissions:\npermission\x12\xc6\x01\n\x10RevokePermission\x12#.eolymp.atlas.RevokePermissionInput\x1a$.eolymp.atlas.RevokePermissionOutput\"g\x82\xe3\n\x1a\x8a\xe3\n\x16\x61tlas:permission:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x34*2/atlas/problems/{problem_id}/permissions/{user_id}\x12\xb8\x01\n\x0fListPermissions\x12\".eolymp.atlas.ListPermissionsInput\x1a#.eolymp.atlas.ListPermissionsOutput\"\\\x82\xe3\n\x19\x8a\xe3\n\x15\x61tlas:permission:read\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02*\x12(/atlas/problems/{problem_id}/permissions\x12\xc7\x01\n\x12\x43reateCodeTemplate\x12%.eolymp.atlas.CreateCodeTemplateInput\x1a&.eolymp.atlas.CreateCodeTemplateOutput\"b\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x32\"&/atlas/problems/{problem_id}/templates:\x08template\x12\xbf\x01\n\x12UpdateCodeTemplate\x12%.eolymp.atlas.UpdateCodeTemplateInput\x1a&.eolymp.atlas.UpdateCodeTemplateOutput\"Z\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02*\"\x1e/atlas/templates/{template_id}:\x08template\x12\xb5\x01\n\x12\x44\x65leteCodeTemplate\x12%.eolymp.atlas.DeleteCodeTemplateInput\x1a&.eolymp.atlas.DeleteCodeTemplateOutput\"P\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02 *\x1e/atlas/templates/{template_id}\x12\xba\x01\n\x11ListCodeTemplates\x12$.eolymp.atlas.ListCodeTemplatesInput\x1a%.eolymp.atlas.ListCodeTemplatesOutput\"X\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02)\x12\'/atlas/problems/{problems_id}/templates\x12\xc4\x01\n\x14\x44\x65scribeCodeTemplate\x12\'.eolymp.atlas.DescribeCodeTemplateInput\x1a(.eolymp.atlas.DescribeCodeTemplateOutput\"Y\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02*\x12\x1e/atlas/templates/{template_id}b\x08template\x12\x96\x01\n\x0e\x44\x65scribeChange\x12!.eolymp.atlas.DescribeChangeInput\x1a\".eolymp.atlas.DescribeChangeOutput\"=\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\x82\xd3\xe4\x93\x02\x1c\x12\x1a/atlas/changes/{change_id}\x12\x97\x01\n\x0bListChanges\x12\x1e.eolymp.atlas.ListChangesInput\x1a\x1f.eolymp.atlas.ListChangesOutput\"G\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\x82\xd3\xe4\x93\x02&\x12$/atlas/problems/{problem_id}/changes\x12\x9b\x01\n\x0eListProblemTop\x12!.eolymp.atlas.ListProblemTopInput\x1a\".eolymp.atlas.ListProblemTopOutput\"B\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\x82\xd3\xe4\x93\x02\"\x12 /atlas/problems/{problem_id}/top\x12\xb7\x01\n\x16\x44\x65scribeProblemGrading\x12).eolymp.atlas.DescribeProblemGradingInput\x1a*.eolymp.atlas.DescribeProblemGradingOutput\"F\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\x82\xd3\xe4\x93\x02&\x12$/atlas/problems/{problem_id}/grading\x12\xa0\x01\n\x0e\x43reateSolution\x12!.eolymp.atlas.CreateSolutionInput\x1a\".eolymp.atlas.CreateSolutionOutput\"G\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x32\"&/atlas/problems/{problem_id}/solutions:\x08solution\x12\x98\x01\n\x0eUpdateSolution\x12!.eolymp.atlas.UpdateSolutionInput\x1a\".eolymp.atlas.UpdateSolutionOutput\"?\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02*\"\x1e/atlas/solutions/{solution_id}:\x08solution\x12\x8e\x01\n\x0e\x44\x65leteSolution\x12!.eolymp.atlas.DeleteSolutionInput\x1a\".eolymp.atlas.DeleteSolutionOutput\"5\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02 *\x1e/atlas/solutions/{solution_id}\x12\x97\x01\n\rListSolutions\x12 .eolymp.atlas.ListSolutionsInput\x1a!.eolymp.atlas.ListSolutionsOutput\"A\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x12\x12\x10/atlas/solutions\x12\xb8\x01\n\x10\x44\x65scribeSolution\x12#.eolymp.atlas.DescribeSolutionInput\x1a$.eolymp.atlas.DescribeSolutionOutput\"Y\x82\xe3\n\x16\x8a\xe3\n\x12\x61tlas:problem:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02*\x12\x1e/atlas/solutions/{solution_id}b\x08solution\x12\x99\x01\n\x0fPublishSolution\x12\".eolymp.atlas.PublishSolutionInput\x1a#.eolymp.atlas.PublishSolutionOutput\"=\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02(\"&/atlas/solutions/{solution_id}/publish\x12\xa1\x01\n\x11UnpublishSolution\x12$.eolymp.atlas.UnpublishSolutionInput\x1a%.eolymp.atlas.UnpublishSolutionOutput\"?\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02*\"(/atlas/solutions/{solution_id}/unpublish\x12\xb4\x01\n\x0f\x41pproveSolution\x12\".eolymp.atlas.ApproveSolutionInput\x1a#.eolymp.atlas.ApproveSolutionOutput\"X\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02(\"&/atlas/solutions/{solution_id}/approve\x12\xb0\x01\n\x0eRefuseSolution\x12!.eolymp.atlas.RefuseSolutionInput\x1a\".eolymp.atlas.RefuseSolutionOutput\"W\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:problem:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02\'\"%/atlas/solutions/{solution_id}/refuse\x12\xa8\x01\n\x0e\x43reateCategory\x12!.eolymp.atlas.CreateCategoryInput\x1a\".eolymp.atlas.CreateCategoryOutput\"O\x82\xe3\n\x18\x8a\xe3\n\x14\x61tlas:category:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x1e\"\x12/atlas/categories/:\x08\x63\x61tegory\x12\xab\x01\n\x0eUpdateCategory\x12!.eolymp.atlas.UpdateCategoryInput\x1a\".eolymp.atlas.UpdateCategoryOutput\"R\x82\xe3\n\x18\x8a\xe3\n\x14\x61tlas:category:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02!\"\x1f/atlas/categories/{category_id}\x12\xab\x01\n\x0e\x44\x65leteCategory\x12!.eolymp.atlas.DeleteCategoryInput\x1a\".eolymp.atlas.DeleteCategoryOutput\"R\x82\xe3\n\x18\x8a\xe3\n\x14\x61tlas:category:write\xea\xe2\n\x0b\xf5\xe2\n\n\xd7#>\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02!*\x1f/atlas/categories/{category_id}\x12\x9d\x01\n\x0eListCategories\x12!.eolymp.atlas.ListCategoriesInput\x1a\".eolymp.atlas.ListCategoriesOutput\"D\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:category:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x14\x12\x12/atlas/categories/\x12\xba\x01\n\x10\x44\x65scribeCategory\x12#.eolymp.atlas.DescribeCategoryInput\x1a$.eolymp.atlas.DescribeCategoryOutput\"[\x82\xe3\n\x17\x8a\xe3\n\x13\x61tlas:category:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02+\x12\x1f/atlas/categories/{category_id}b\x08\x63\x61tegory\x12\xc1\x01\n\x0e\x41ssignCategory\x12!.eolymp.atlas.AssignCategoryInput\x1a\".eolymp.atlas.AssignCategoryOutput\"h\x82\xe3\n\x18\x8a\xe3\n\x14\x61tlas:category:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02\x37\"5/atlas/categories/{category_id}/problems/{problem_id}\x12\xc7\x01\n\x10UnassignCategory\x12#.eolymp.atlas.UnassignCategoryInput\x1a$.eolymp.atlas.UnassignCategoryOutput\"h\x82\xe3\n\x18\x8a\xe3\n\x14\x61tlas:category:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02\x37*5/atlas/categories/{category_id}/problems/{problem_id}\x12\xb0\x01\n\x10\x43reateSubmission\x12#.eolymp.atlas.CreateSubmissionInput\x1a$.eolymp.atlas.CreateSubmissionOutput\"Q\x82\xe3\n\x1a\x8a\xe3\n\x16\x61tlas:submission:write\x82\xd3\xe4\x93\x02-\"(/atlas/problems/{problem_id}/submissions:\x01*\x12\xb8\x01\n\x12\x44\x65scribeSubmission\x12%.eolymp.atlas.DescribeSubmissionInput\x1a&.eolymp.atlas.DescribeSubmissionOutput\"S\x82\xe3\n\x19\x8a\xe3\n\x15\x61tlas:submission:read\x82\xd3\xe4\x93\x02\x30\x12\"/atlas/submissions/{submission_id}b\nsubmission\x12\xaf\x01\n\rDescribeScore\x12 .eolymp.atlas.DescribeScoreInput\x1a!.eolymp.atlas.DescribeScoreOutput\"Y\x82\xe3\n\x19\x8a\xe3\n\x15\x61tlas:submission:read\x82\xd3\xe4\x93\x02\x36\x12-/atlas/problems/{problem_id}/scores/{user_id}b\x05scoreB3Z1github.com/eolymp/contracts/go/eolymp/atlas;atlasb\x06proto3'
  ,
  dependencies=[eolymp_dot_annotations_dot_http__pb2.DESCRIPTOR,eolymp_dot_annotations_dot_scope__pb2.DESCRIPTOR,eolymp_dot_annotations_dot_ratelimit__pb2.DESCRIPTOR,eolymp_dot_executor_dot_verifier__pb2.DESCRIPTOR,eolymp_dot_executor_dot_interactor__pb2.DESCRIPTOR,eolymp_dot_wellknown_dot_expression__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_category__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_change__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_permission__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_problem__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_score__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_solution__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_statement__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_submission__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_template__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_test__pb2.DESCRIPTOR,eolymp_dot_atlas_dot_testset__pb2.DESCRIPTOR,])




_LISTPROBLEMSINPUT_FILTER = _descriptor.Descriptor(
  name='Filter',
  full_name='eolymp.atlas.ListProblemsInput.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.ListProblemsInput.Filter.id', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.ListProblemsInput.Filter.category_id', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='is_visible', full_name='eolymp.atlas.ListProblemsInput.Filter.is_visible', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='is_private', full_name='eolymp.atlas.ListProblemsInput.Filter.is_private', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=665,
  serialized_end=878,
)

_LISTPROBLEMSINPUT = _descriptor.Descriptor(
  name='ListProblemsInput',
  full_name='eolymp.atlas.ListProblemsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='eolymp.atlas.ListProblemsInput.offset', index=0,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='eolymp.atlas.ListProblemsInput.size', index=1,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filters', full_name='eolymp.atlas.ListProblemsInput.filters', index=2,
      number=40, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_LISTPROBLEMSINPUT_FILTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=556,
  serialized_end=878,
)


_LISTPROBLEMSOUTPUT = _descriptor.Descriptor(
  name='ListProblemsOutput',
  full_name='eolymp.atlas.ListProblemsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListProblemsOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListProblemsOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=880,
  serialized_end=953,
)


_CREATEPROBLEMINPUT = _descriptor.Descriptor(
  name='CreateProblemInput',
  full_name='eolymp.atlas.CreateProblemInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem', full_name='eolymp.atlas.CreateProblemInput.problem', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=955,
  serialized_end=1015,
)


_CREATEPROBLEMOUTPUT = _descriptor.Descriptor(
  name='CreateProblemOutput',
  full_name='eolymp.atlas.CreateProblemOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateProblemOutput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1017,
  serialized_end=1058,
)


_DELETEPROBLEMINPUT = _descriptor.Descriptor(
  name='DeleteProblemInput',
  full_name='eolymp.atlas.DeleteProblemInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DeleteProblemInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1060,
  serialized_end=1100,
)


_DELETEPROBLEMOUTPUT = _descriptor.Descriptor(
  name='DeleteProblemOutput',
  full_name='eolymp.atlas.DeleteProblemOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1102,
  serialized_end=1123,
)


_DESCRIBEPROBLEMINPUT = _descriptor.Descriptor(
  name='DescribeProblemInput',
  full_name='eolymp.atlas.DescribeProblemInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DescribeProblemInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1125,
  serialized_end=1167,
)


_DESCRIBEPROBLEMOUTPUT = _descriptor.Descriptor(
  name='DescribeProblemOutput',
  full_name='eolymp.atlas.DescribeProblemOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem', full_name='eolymp.atlas.DescribeProblemOutput.problem', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1169,
  serialized_end=1232,
)


_LISTSTATEMENTSINPUT = _descriptor.Descriptor(
  name='ListStatementsInput',
  full_name='eolymp.atlas.ListStatementsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListStatementsInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1234,
  serialized_end=1275,
)


_LISTSTATEMENTSOUTPUT = _descriptor.Descriptor(
  name='ListStatementsOutput',
  full_name='eolymp.atlas.ListStatementsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListStatementsOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListStatementsOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1277,
  serialized_end=1354,
)


_DESCRIBESTATEMENTINPUT = _descriptor.Descriptor(
  name='DescribeStatementInput',
  full_name='eolymp.atlas.DescribeStatementInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='statement_id', full_name='eolymp.atlas.DescribeStatementInput.statement_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1356,
  serialized_end=1402,
)


_DESCRIBESTATEMENTOUTPUT = _descriptor.Descriptor(
  name='DescribeStatementOutput',
  full_name='eolymp.atlas.DescribeStatementOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='statement', full_name='eolymp.atlas.DescribeStatementOutput.statement', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1404,
  serialized_end=1473,
)


_CREATESTATEMENTINPUT = _descriptor.Descriptor(
  name='CreateStatementInput',
  full_name='eolymp.atlas.CreateStatementInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateStatementInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='statement', full_name='eolymp.atlas.CreateStatementInput.statement', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1475,
  serialized_end=1561,
)


_CREATESTATEMENTOUTPUT = _descriptor.Descriptor(
  name='CreateStatementOutput',
  full_name='eolymp.atlas.CreateStatementOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.CreateStatementOutput.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1563,
  serialized_end=1598,
)


_UPDATESTATEMENTINPUT = _descriptor.Descriptor(
  name='UpdateStatementInput',
  full_name='eolymp.atlas.UpdateStatementInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='statement_id', full_name='eolymp.atlas.UpdateStatementInput.statement_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='statement', full_name='eolymp.atlas.UpdateStatementInput.statement', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1600,
  serialized_end=1688,
)


_UPDATESTATEMENTOUTPUT = _descriptor.Descriptor(
  name='UpdateStatementOutput',
  full_name='eolymp.atlas.UpdateStatementOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1690,
  serialized_end=1713,
)


_DELETESTATEMENTINPUT = _descriptor.Descriptor(
  name='DeleteStatementInput',
  full_name='eolymp.atlas.DeleteStatementInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='statement_id', full_name='eolymp.atlas.DeleteStatementInput.statement_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1715,
  serialized_end=1759,
)


_DELETESTATEMENTOUTPUT = _descriptor.Descriptor(
  name='DeleteStatementOutput',
  full_name='eolymp.atlas.DeleteStatementOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1761,
  serialized_end=1784,
)


_UPDATEVERIFIERINPUT = _descriptor.Descriptor(
  name='UpdateVerifierInput',
  full_name='eolymp.atlas.UpdateVerifierInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.UpdateVerifierInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='verifier', full_name='eolymp.atlas.UpdateVerifierInput.verifier', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1786,
  serialized_end=1872,
)


_UPDATEVERIFIEROUTPUT = _descriptor.Descriptor(
  name='UpdateVerifierOutput',
  full_name='eolymp.atlas.UpdateVerifierOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1874,
  serialized_end=1896,
)


_DESCRIBEVERIFIERINPUT = _descriptor.Descriptor(
  name='DescribeVerifierInput',
  full_name='eolymp.atlas.DescribeVerifierInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DescribeVerifierInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1898,
  serialized_end=1941,
)


_DESCRIBEVERIFIEROUTPUT = _descriptor.Descriptor(
  name='DescribeVerifierOutput',
  full_name='eolymp.atlas.DescribeVerifierOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='verifier', full_name='eolymp.atlas.DescribeVerifierOutput.verifier', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1943,
  serialized_end=2012,
)


_UPDATEINTERACTORINPUT = _descriptor.Descriptor(
  name='UpdateInteractorInput',
  full_name='eolymp.atlas.UpdateInteractorInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.UpdateInteractorInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interactor', full_name='eolymp.atlas.UpdateInteractorInput.interactor', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2014,
  serialized_end=2106,
)


_UPDATEINTERACTOROUTPUT = _descriptor.Descriptor(
  name='UpdateInteractorOutput',
  full_name='eolymp.atlas.UpdateInteractorOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2108,
  serialized_end=2132,
)


_DESCRIBEINTERACTORINPUT = _descriptor.Descriptor(
  name='DescribeInteractorInput',
  full_name='eolymp.atlas.DescribeInteractorInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DescribeInteractorInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2134,
  serialized_end=2179,
)


_DESCRIBEINTERACTOROUTPUT = _descriptor.Descriptor(
  name='DescribeInteractorOutput',
  full_name='eolymp.atlas.DescribeInteractorOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='interactor', full_name='eolymp.atlas.DescribeInteractorOutput.interactor', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2181,
  serialized_end=2256,
)


_LISTTESTSETSINPUT = _descriptor.Descriptor(
  name='ListTestsetsInput',
  full_name='eolymp.atlas.ListTestsetsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListTestsetsInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2258,
  serialized_end=2297,
)


_LISTTESTSETSOUTPUT = _descriptor.Descriptor(
  name='ListTestsetsOutput',
  full_name='eolymp.atlas.ListTestsetsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListTestsetsOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListTestsetsOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2299,
  serialized_end=2372,
)


_DESCRIBETESTSETINPUT = _descriptor.Descriptor(
  name='DescribeTestsetInput',
  full_name='eolymp.atlas.DescribeTestsetInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset_id', full_name='eolymp.atlas.DescribeTestsetInput.testset_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2374,
  serialized_end=2416,
)


_DESCRIBETESTSETOUTPUT = _descriptor.Descriptor(
  name='DescribeTestsetOutput',
  full_name='eolymp.atlas.DescribeTestsetOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset', full_name='eolymp.atlas.DescribeTestsetOutput.testset', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2418,
  serialized_end=2481,
)


_CREATETESTSETINPUT = _descriptor.Descriptor(
  name='CreateTestsetInput',
  full_name='eolymp.atlas.CreateTestsetInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateTestsetInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='testset', full_name='eolymp.atlas.CreateTestsetInput.testset', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2483,
  serialized_end=2563,
)


_CREATETESTSETOUTPUT = _descriptor.Descriptor(
  name='CreateTestsetOutput',
  full_name='eolymp.atlas.CreateTestsetOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.CreateTestsetOutput.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2565,
  serialized_end=2598,
)


_UPDATETESTSETINPUT = _descriptor.Descriptor(
  name='UpdateTestsetInput',
  full_name='eolymp.atlas.UpdateTestsetInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset_id', full_name='eolymp.atlas.UpdateTestsetInput.testset_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='testset', full_name='eolymp.atlas.UpdateTestsetInput.testset', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2600,
  serialized_end=2680,
)


_UPDATETESTSETOUTPUT = _descriptor.Descriptor(
  name='UpdateTestsetOutput',
  full_name='eolymp.atlas.UpdateTestsetOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2682,
  serialized_end=2703,
)


_DELETETESTSETINPUT = _descriptor.Descriptor(
  name='DeleteTestsetInput',
  full_name='eolymp.atlas.DeleteTestsetInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset_id', full_name='eolymp.atlas.DeleteTestsetInput.testset_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2705,
  serialized_end=2745,
)


_DELETETESTSETOUTPUT = _descriptor.Descriptor(
  name='DeleteTestsetOutput',
  full_name='eolymp.atlas.DeleteTestsetOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2747,
  serialized_end=2768,
)


_LISTEXAMPLESINPUT = _descriptor.Descriptor(
  name='ListExamplesInput',
  full_name='eolymp.atlas.ListExamplesInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListExamplesInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2770,
  serialized_end=2809,
)


_LISTEXAMPLESOUTPUT = _descriptor.Descriptor(
  name='ListExamplesOutput',
  full_name='eolymp.atlas.ListExamplesOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='examples', full_name='eolymp.atlas.ListExamplesOutput.examples', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2811,
  serialized_end=2869,
)


_LISTTESTSINPUT = _descriptor.Descriptor(
  name='ListTestsInput',
  full_name='eolymp.atlas.ListTestsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset_id', full_name='eolymp.atlas.ListTestsInput.testset_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2871,
  serialized_end=2907,
)


_LISTTESTSOUTPUT = _descriptor.Descriptor(
  name='ListTestsOutput',
  full_name='eolymp.atlas.ListTestsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListTestsOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListTestsOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2909,
  serialized_end=2976,
)


_DESCRIBETESTINPUT = _descriptor.Descriptor(
  name='DescribeTestInput',
  full_name='eolymp.atlas.DescribeTestInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='test_id', full_name='eolymp.atlas.DescribeTestInput.test_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2978,
  serialized_end=3014,
)


_DESCRIBETESTOUTPUT = _descriptor.Descriptor(
  name='DescribeTestOutput',
  full_name='eolymp.atlas.DescribeTestOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='test', full_name='eolymp.atlas.DescribeTestOutput.test', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3016,
  serialized_end=3070,
)


_CREATETESTINPUT = _descriptor.Descriptor(
  name='CreateTestInput',
  full_name='eolymp.atlas.CreateTestInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='testset_id', full_name='eolymp.atlas.CreateTestInput.testset_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test', full_name='eolymp.atlas.CreateTestInput.test', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3072,
  serialized_end=3143,
)


_CREATETESTOUTPUT = _descriptor.Descriptor(
  name='CreateTestOutput',
  full_name='eolymp.atlas.CreateTestOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.CreateTestOutput.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3145,
  serialized_end=3175,
)


_UPDATETESTINPUT = _descriptor.Descriptor(
  name='UpdateTestInput',
  full_name='eolymp.atlas.UpdateTestInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='test_id', full_name='eolymp.atlas.UpdateTestInput.test_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test', full_name='eolymp.atlas.UpdateTestInput.test', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3177,
  serialized_end=3245,
)


_UPDATETESTOUTPUT = _descriptor.Descriptor(
  name='UpdateTestOutput',
  full_name='eolymp.atlas.UpdateTestOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3247,
  serialized_end=3265,
)


_DELETETESTINPUT = _descriptor.Descriptor(
  name='DeleteTestInput',
  full_name='eolymp.atlas.DeleteTestInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='test_id', full_name='eolymp.atlas.DeleteTestInput.test_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3267,
  serialized_end=3301,
)


_DELETETESTOUTPUT = _descriptor.Descriptor(
  name='DeleteTestOutput',
  full_name='eolymp.atlas.DeleteTestOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3303,
  serialized_end=3321,
)


_LISTPERMISSIONSINPUT = _descriptor.Descriptor(
  name='ListPermissionsInput',
  full_name='eolymp.atlas.ListPermissionsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListPermissionsInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3323,
  serialized_end=3365,
)


_LISTPERMISSIONSOUTPUT = _descriptor.Descriptor(
  name='ListPermissionsOutput',
  full_name='eolymp.atlas.ListPermissionsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListPermissionsOutput.items', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3367,
  serialized_end=3431,
)


_GRANTPERMISSIONINPUT = _descriptor.Descriptor(
  name='GrantPermissionInput',
  full_name='eolymp.atlas.GrantPermissionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.GrantPermissionInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='permission', full_name='eolymp.atlas.GrantPermissionInput.permission', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3433,
  serialized_end=3521,
)


_GRANTPERMISSIONOUTPUT = _descriptor.Descriptor(
  name='GrantPermissionOutput',
  full_name='eolymp.atlas.GrantPermissionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3523,
  serialized_end=3546,
)


_REVOKEPERMISSIONINPUT = _descriptor.Descriptor(
  name='RevokePermissionInput',
  full_name='eolymp.atlas.RevokePermissionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.RevokePermissionInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='eolymp.atlas.RevokePermissionInput.user_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3548,
  serialized_end=3608,
)


_REVOKEPERMISSIONOUTPUT = _descriptor.Descriptor(
  name='RevokePermissionOutput',
  full_name='eolymp.atlas.RevokePermissionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3610,
  serialized_end=3634,
)


_CREATECODETEMPLATEINPUT = _descriptor.Descriptor(
  name='CreateCodeTemplateInput',
  full_name='eolymp.atlas.CreateCodeTemplateInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateCodeTemplateInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='template', full_name='eolymp.atlas.CreateCodeTemplateInput.template', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3636,
  serialized_end=3723,
)


_CREATECODETEMPLATEOUTPUT = _descriptor.Descriptor(
  name='CreateCodeTemplateOutput',
  full_name='eolymp.atlas.CreateCodeTemplateOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='template_id', full_name='eolymp.atlas.CreateCodeTemplateOutput.template_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3725,
  serialized_end=3772,
)


_UPDATECODETEMPLATEINPUT = _descriptor.Descriptor(
  name='UpdateCodeTemplateInput',
  full_name='eolymp.atlas.UpdateCodeTemplateInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='template_id', full_name='eolymp.atlas.UpdateCodeTemplateInput.template_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='template', full_name='eolymp.atlas.UpdateCodeTemplateInput.template', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3774,
  serialized_end=3862,
)


_UPDATECODETEMPLATEOUTPUT = _descriptor.Descriptor(
  name='UpdateCodeTemplateOutput',
  full_name='eolymp.atlas.UpdateCodeTemplateOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3864,
  serialized_end=3890,
)


_DELETECODETEMPLATEINPUT = _descriptor.Descriptor(
  name='DeleteCodeTemplateInput',
  full_name='eolymp.atlas.DeleteCodeTemplateInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='template_id', full_name='eolymp.atlas.DeleteCodeTemplateInput.template_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3892,
  serialized_end=3938,
)


_DELETECODETEMPLATEOUTPUT = _descriptor.Descriptor(
  name='DeleteCodeTemplateOutput',
  full_name='eolymp.atlas.DeleteCodeTemplateOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3940,
  serialized_end=3966,
)


_LISTCODETEMPLATESINPUT = _descriptor.Descriptor(
  name='ListCodeTemplatesInput',
  full_name='eolymp.atlas.ListCodeTemplatesInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListCodeTemplatesInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3968,
  serialized_end=4012,
)


_LISTCODETEMPLATESOUTPUT = _descriptor.Descriptor(
  name='ListCodeTemplatesOutput',
  full_name='eolymp.atlas.ListCodeTemplatesOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListCodeTemplatesOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListCodeTemplatesOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4014,
  serialized_end=4093,
)


_DESCRIBECODETEMPLATEINPUT = _descriptor.Descriptor(
  name='DescribeCodeTemplateInput',
  full_name='eolymp.atlas.DescribeCodeTemplateInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='template_id', full_name='eolymp.atlas.DescribeCodeTemplateInput.template_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4095,
  serialized_end=4143,
)


_DESCRIBECODETEMPLATEOUTPUT = _descriptor.Descriptor(
  name='DescribeCodeTemplateOutput',
  full_name='eolymp.atlas.DescribeCodeTemplateOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='template', full_name='eolymp.atlas.DescribeCodeTemplateOutput.template', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4145,
  serialized_end=4215,
)


_DESCRIBECHANGEINPUT = _descriptor.Descriptor(
  name='DescribeChangeInput',
  full_name='eolymp.atlas.DescribeChangeInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='change_id', full_name='eolymp.atlas.DescribeChangeInput.change_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4217,
  serialized_end=4257,
)


_DESCRIBECHANGEOUTPUT = _descriptor.Descriptor(
  name='DescribeChangeOutput',
  full_name='eolymp.atlas.DescribeChangeOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='change', full_name='eolymp.atlas.DescribeChangeOutput.change', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4259,
  serialized_end=4319,
)


_LISTCHANGESINPUT_FILTER = _descriptor.Descriptor(
  name='Filter',
  full_name='eolymp.atlas.ListChangesInput.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.ListChangesInput.Filter.id', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ip_address', full_name='eolymp.atlas.ListChangesInput.Filter.ip_address', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='eolymp.atlas.ListChangesInput.Filter.user_id', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='eolymp.atlas.ListChangesInput.Filter.timestamp', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='eolymp.atlas.ListChangesInput.Filter.type', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4449,
  serialized_end=4708,
)

_LISTCHANGESINPUT = _descriptor.Descriptor(
  name='ListChangesInput',
  full_name='eolymp.atlas.ListChangesInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListChangesInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset', full_name='eolymp.atlas.ListChangesInput.offset', index=1,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='eolymp.atlas.ListChangesInput.size', index=2,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filters', full_name='eolymp.atlas.ListChangesInput.filters', index=3,
      number=40, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_LISTCHANGESINPUT_FILTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4322,
  serialized_end=4708,
)


_LISTCHANGESOUTPUT = _descriptor.Descriptor(
  name='ListChangesOutput',
  full_name='eolymp.atlas.ListChangesOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListChangesOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListChangesOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4710,
  serialized_end=4781,
)


_LISTPROBLEMTOPINPUT = _descriptor.Descriptor(
  name='ListProblemTopInput',
  full_name='eolymp.atlas.ListProblemTopInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListProblemTopInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4783,
  serialized_end=4824,
)


_LISTPROBLEMTOPOUTPUT = _descriptor.Descriptor(
  name='ListProblemTopOutput',
  full_name='eolymp.atlas.ListProblemTopOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListProblemTopOutput.items', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4826,
  serialized_end=4889,
)


_DESCRIBEPROBLEMGRADINGINPUT = _descriptor.Descriptor(
  name='DescribeProblemGradingInput',
  full_name='eolymp.atlas.DescribeProblemGradingInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DescribeProblemGradingInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4891,
  serialized_end=4940,
)


_DESCRIBEPROBLEMGRADINGOUTPUT_RANGE = _descriptor.Descriptor(
  name='Range',
  full_name='eolymp.atlas.DescribeProblemGradingOutput.Range',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='grade', full_name='eolymp.atlas.DescribeProblemGradingOutput.Range.grade', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='upper_bound', full_name='eolymp.atlas.DescribeProblemGradingOutput.Range.upper_bound', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5041,
  serialized_end=5084,
)

_DESCRIBEPROBLEMGRADINGOUTPUT = _descriptor.Descriptor(
  name='DescribeProblemGradingOutput',
  full_name='eolymp.atlas.DescribeProblemGradingOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ranges', full_name='eolymp.atlas.DescribeProblemGradingOutput.ranges', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_DESCRIBEPROBLEMGRADINGOUTPUT_RANGE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4943,
  serialized_end=5084,
)


_CREATESOLUTIONINPUT = _descriptor.Descriptor(
  name='CreateSolutionInput',
  full_name='eolymp.atlas.CreateSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateSolutionInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='solution', full_name='eolymp.atlas.CreateSolutionInput.solution', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5086,
  serialized_end=5169,
)


_CREATESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='CreateSolutionOutput',
  full_name='eolymp.atlas.CreateSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.CreateSolutionOutput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5171,
  serialized_end=5214,
)


_UPDATESOLUTIONINPUT = _descriptor.Descriptor(
  name='UpdateSolutionInput',
  full_name='eolymp.atlas.UpdateSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.UpdateSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='solution', full_name='eolymp.atlas.UpdateSolutionInput.solution', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5216,
  serialized_end=5300,
)


_UPDATESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='UpdateSolutionOutput',
  full_name='eolymp.atlas.UpdateSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5302,
  serialized_end=5324,
)


_DELETESOLUTIONINPUT = _descriptor.Descriptor(
  name='DeleteSolutionInput',
  full_name='eolymp.atlas.DeleteSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.DeleteSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5326,
  serialized_end=5368,
)


_DELETESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='DeleteSolutionOutput',
  full_name='eolymp.atlas.DeleteSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5370,
  serialized_end=5392,
)


_LISTSOLUTIONSINPUT_FILTER = _descriptor.Descriptor(
  name='Filter',
  full_name='eolymp.atlas.ListSolutionsInput.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.ListSolutionsInput.Filter.id', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.ListSolutionsInput.Filter.problem_id', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='author_id', full_name='eolymp.atlas.ListSolutionsInput.Filter.author_id', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='moderation_status', full_name='eolymp.atlas.ListSolutionsInput.Filter.moderation_status', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='published', full_name='eolymp.atlas.ListSolutionsInput.Filter.published', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lang', full_name='eolymp.atlas.ListSolutionsInput.Filter.lang', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5506,
  serialized_end=5823,
)

_LISTSOLUTIONSINPUT = _descriptor.Descriptor(
  name='ListSolutionsInput',
  full_name='eolymp.atlas.ListSolutionsInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='eolymp.atlas.ListSolutionsInput.offset', index=0,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='eolymp.atlas.ListSolutionsInput.size', index=1,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filters', full_name='eolymp.atlas.ListSolutionsInput.filters', index=2,
      number=40, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_LISTSOLUTIONSINPUT_FILTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5395,
  serialized_end=5823,
)


_LISTSOLUTIONSOUTPUT = _descriptor.Descriptor(
  name='ListSolutionsOutput',
  full_name='eolymp.atlas.ListSolutionsOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListSolutionsOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListSolutionsOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5825,
  serialized_end=5900,
)


_DESCRIBESOLUTIONINPUT = _descriptor.Descriptor(
  name='DescribeSolutionInput',
  full_name='eolymp.atlas.DescribeSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.DescribeSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5902,
  serialized_end=5946,
)


_DESCRIBESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='DescribeSolutionOutput',
  full_name='eolymp.atlas.DescribeSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution', full_name='eolymp.atlas.DescribeSolutionOutput.solution', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5948,
  serialized_end=6014,
)


_PUBLISHSOLUTIONINPUT = _descriptor.Descriptor(
  name='PublishSolutionInput',
  full_name='eolymp.atlas.PublishSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.PublishSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6016,
  serialized_end=6059,
)


_PUBLISHSOLUTIONOUTPUT = _descriptor.Descriptor(
  name='PublishSolutionOutput',
  full_name='eolymp.atlas.PublishSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6061,
  serialized_end=6084,
)


_UNPUBLISHSOLUTIONINPUT = _descriptor.Descriptor(
  name='UnpublishSolutionInput',
  full_name='eolymp.atlas.UnpublishSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.UnpublishSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6086,
  serialized_end=6131,
)


_UNPUBLISHSOLUTIONOUTPUT = _descriptor.Descriptor(
  name='UnpublishSolutionOutput',
  full_name='eolymp.atlas.UnpublishSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6133,
  serialized_end=6158,
)


_APPROVESOLUTIONINPUT = _descriptor.Descriptor(
  name='ApproveSolutionInput',
  full_name='eolymp.atlas.ApproveSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.ApproveSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6160,
  serialized_end=6203,
)


_APPROVESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='ApproveSolutionOutput',
  full_name='eolymp.atlas.ApproveSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6205,
  serialized_end=6228,
)


_REFUSESOLUTIONINPUT = _descriptor.Descriptor(
  name='RefuseSolutionInput',
  full_name='eolymp.atlas.RefuseSolutionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='solution_id', full_name='eolymp.atlas.RefuseSolutionInput.solution_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='comment', full_name='eolymp.atlas.RefuseSolutionInput.comment', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6230,
  serialized_end=6289,
)


_REFUSESOLUTIONOUTPUT = _descriptor.Descriptor(
  name='RefuseSolutionOutput',
  full_name='eolymp.atlas.RefuseSolutionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6291,
  serialized_end=6313,
)


_LISTCATEGORIESINPUT_FILTER = _descriptor.Descriptor(
  name='Filter',
  full_name='eolymp.atlas.ListCategoriesInput.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='eolymp.atlas.ListCategoriesInput.Filter.id', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='parent_id', full_name='eolymp.atlas.ListCategoriesInput.Filter.parent_id', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='is_visible', full_name='eolymp.atlas.ListCategoriesInput.Filter.is_visible', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6429,
  serialized_end=6586,
)

_LISTCATEGORIESINPUT = _descriptor.Descriptor(
  name='ListCategoriesInput',
  full_name='eolymp.atlas.ListCategoriesInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='eolymp.atlas.ListCategoriesInput.offset', index=0,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='eolymp.atlas.ListCategoriesInput.size', index=1,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='filters', full_name='eolymp.atlas.ListCategoriesInput.filters', index=2,
      number=40, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_LISTCATEGORIESINPUT_FILTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6316,
  serialized_end=6586,
)


_LISTCATEGORIESOUTPUT = _descriptor.Descriptor(
  name='ListCategoriesOutput',
  full_name='eolymp.atlas.ListCategoriesOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='eolymp.atlas.ListCategoriesOutput.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='items', full_name='eolymp.atlas.ListCategoriesOutput.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6588,
  serialized_end=6664,
)


_CREATECATEGORYINPUT = _descriptor.Descriptor(
  name='CreateCategoryInput',
  full_name='eolymp.atlas.CreateCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category', full_name='eolymp.atlas.CreateCategoryInput.category', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6666,
  serialized_end=6729,
)


_CREATECATEGORYOUTPUT = _descriptor.Descriptor(
  name='CreateCategoryOutput',
  full_name='eolymp.atlas.CreateCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.CreateCategoryOutput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6731,
  serialized_end=6774,
)


_UPDATECATEGORYINPUT = _descriptor.Descriptor(
  name='UpdateCategoryInput',
  full_name='eolymp.atlas.UpdateCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.UpdateCategoryInput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='category', full_name='eolymp.atlas.UpdateCategoryInput.category', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6776,
  serialized_end=6860,
)


_UPDATECATEGORYOUTPUT = _descriptor.Descriptor(
  name='UpdateCategoryOutput',
  full_name='eolymp.atlas.UpdateCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6862,
  serialized_end=6884,
)


_DELETECATEGORYINPUT = _descriptor.Descriptor(
  name='DeleteCategoryInput',
  full_name='eolymp.atlas.DeleteCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.DeleteCategoryInput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6886,
  serialized_end=6928,
)


_DELETECATEGORYOUTPUT = _descriptor.Descriptor(
  name='DeleteCategoryOutput',
  full_name='eolymp.atlas.DeleteCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6930,
  serialized_end=6952,
)


_DESCRIBECATEGORYINPUT = _descriptor.Descriptor(
  name='DescribeCategoryInput',
  full_name='eolymp.atlas.DescribeCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.DescribeCategoryInput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6954,
  serialized_end=6998,
)


_DESCRIBECATEGORYOUTPUT = _descriptor.Descriptor(
  name='DescribeCategoryOutput',
  full_name='eolymp.atlas.DescribeCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category', full_name='eolymp.atlas.DescribeCategoryOutput.category', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7000,
  serialized_end=7066,
)


_ASSIGNCATEGORYINPUT = _descriptor.Descriptor(
  name='AssignCategoryInput',
  full_name='eolymp.atlas.AssignCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.AssignCategoryInput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.AssignCategoryInput.problem_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='index', full_name='eolymp.atlas.AssignCategoryInput.index', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7068,
  serialized_end=7145,
)


_ASSIGNCATEGORYOUTPUT = _descriptor.Descriptor(
  name='AssignCategoryOutput',
  full_name='eolymp.atlas.AssignCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7147,
  serialized_end=7169,
)


_UNASSIGNCATEGORYINPUT = _descriptor.Descriptor(
  name='UnassignCategoryInput',
  full_name='eolymp.atlas.UnassignCategoryInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='category_id', full_name='eolymp.atlas.UnassignCategoryInput.category_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.UnassignCategoryInput.problem_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7171,
  serialized_end=7235,
)


_UNASSIGNCATEGORYOUTPUT = _descriptor.Descriptor(
  name='UnassignCategoryOutput',
  full_name='eolymp.atlas.UnassignCategoryOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7237,
  serialized_end=7261,
)


_CREATESUBMISSIONINPUT = _descriptor.Descriptor(
  name='CreateSubmissionInput',
  full_name='eolymp.atlas.CreateSubmissionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.CreateSubmissionInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lang', full_name='eolymp.atlas.CreateSubmissionInput.lang', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='source', full_name='eolymp.atlas.CreateSubmissionInput.source', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7263,
  serialized_end=7336,
)


_CREATESUBMISSIONOUTPUT = _descriptor.Descriptor(
  name='CreateSubmissionOutput',
  full_name='eolymp.atlas.CreateSubmissionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='submission_id', full_name='eolymp.atlas.CreateSubmissionOutput.submission_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7338,
  serialized_end=7385,
)


_DESCRIBESUBMISSIONINPUT = _descriptor.Descriptor(
  name='DescribeSubmissionInput',
  full_name='eolymp.atlas.DescribeSubmissionInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='submission_id', full_name='eolymp.atlas.DescribeSubmissionInput.submission_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7387,
  serialized_end=7435,
)


_DESCRIBESUBMISSIONOUTPUT = _descriptor.Descriptor(
  name='DescribeSubmissionOutput',
  full_name='eolymp.atlas.DescribeSubmissionOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='submission', full_name='eolymp.atlas.DescribeSubmissionOutput.submission', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7437,
  serialized_end=7509,
)


_DESCRIBESCOREINPUT = _descriptor.Descriptor(
  name='DescribeScoreInput',
  full_name='eolymp.atlas.DescribeScoreInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.DescribeScoreInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='eolymp.atlas.DescribeScoreInput.user_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7511,
  serialized_end=7568,
)


_DESCRIBESCOREOUTPUT = _descriptor.Descriptor(
  name='DescribeScoreOutput',
  full_name='eolymp.atlas.DescribeScoreOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='score', full_name='eolymp.atlas.DescribeScoreOutput.score', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7570,
  serialized_end=7627,
)


_UPDATEVISIBILITYINPUT = _descriptor.Descriptor(
  name='UpdateVisibilityInput',
  full_name='eolymp.atlas.UpdateVisibilityInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.UpdateVisibilityInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='visible', full_name='eolymp.atlas.UpdateVisibilityInput.visible', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7629,
  serialized_end=7689,
)


_UPDATEVISIBILITYOUTPUT = _descriptor.Descriptor(
  name='UpdateVisibilityOutput',
  full_name='eolymp.atlas.UpdateVisibilityOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7691,
  serialized_end=7715,
)


_UPDATEPRIVACYINPUT = _descriptor.Descriptor(
  name='UpdatePrivacyInput',
  full_name='eolymp.atlas.UpdatePrivacyInput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='problem_id', full_name='eolymp.atlas.UpdatePrivacyInput.problem_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='private', full_name='eolymp.atlas.UpdatePrivacyInput.private', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7717,
  serialized_end=7774,
)


_UPDATEPRIVACYOUTPUT = _descriptor.Descriptor(
  name='UpdatePrivacyOutput',
  full_name='eolymp.atlas.UpdatePrivacyOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7776,
  serialized_end=7797,
)

_LISTPROBLEMSINPUT_FILTER.fields_by_name['id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTPROBLEMSINPUT_FILTER.fields_by_name['category_id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTPROBLEMSINPUT_FILTER.fields_by_name['is_visible'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONBOOL
_LISTPROBLEMSINPUT_FILTER.fields_by_name['is_private'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONBOOL
_LISTPROBLEMSINPUT_FILTER.containing_type = _LISTPROBLEMSINPUT
_LISTPROBLEMSINPUT.fields_by_name['filters'].message_type = _LISTPROBLEMSINPUT_FILTER
_LISTPROBLEMSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_problem__pb2._PROBLEM
_CREATEPROBLEMINPUT.fields_by_name['problem'].message_type = eolymp_dot_atlas_dot_problem__pb2._PROBLEM
_DESCRIBEPROBLEMOUTPUT.fields_by_name['problem'].message_type = eolymp_dot_atlas_dot_problem__pb2._PROBLEM
_LISTSTATEMENTSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_statement__pb2._STATEMENT
_DESCRIBESTATEMENTOUTPUT.fields_by_name['statement'].message_type = eolymp_dot_atlas_dot_statement__pb2._STATEMENT
_CREATESTATEMENTINPUT.fields_by_name['statement'].message_type = eolymp_dot_atlas_dot_statement__pb2._STATEMENT
_UPDATESTATEMENTINPUT.fields_by_name['statement'].message_type = eolymp_dot_atlas_dot_statement__pb2._STATEMENT
_UPDATEVERIFIERINPUT.fields_by_name['verifier'].message_type = eolymp_dot_executor_dot_verifier__pb2._VERIFIER
_DESCRIBEVERIFIEROUTPUT.fields_by_name['verifier'].message_type = eolymp_dot_executor_dot_verifier__pb2._VERIFIER
_UPDATEINTERACTORINPUT.fields_by_name['interactor'].message_type = eolymp_dot_executor_dot_interactor__pb2._INTERACTOR
_DESCRIBEINTERACTOROUTPUT.fields_by_name['interactor'].message_type = eolymp_dot_executor_dot_interactor__pb2._INTERACTOR
_LISTTESTSETSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_testset__pb2._TESTSET
_DESCRIBETESTSETOUTPUT.fields_by_name['testset'].message_type = eolymp_dot_atlas_dot_testset__pb2._TESTSET
_CREATETESTSETINPUT.fields_by_name['testset'].message_type = eolymp_dot_atlas_dot_testset__pb2._TESTSET
_UPDATETESTSETINPUT.fields_by_name['testset'].message_type = eolymp_dot_atlas_dot_testset__pb2._TESTSET
_LISTEXAMPLESOUTPUT.fields_by_name['examples'].message_type = eolymp_dot_atlas_dot_test__pb2._TEST
_LISTTESTSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_test__pb2._TEST
_DESCRIBETESTOUTPUT.fields_by_name['test'].message_type = eolymp_dot_atlas_dot_test__pb2._TEST
_CREATETESTINPUT.fields_by_name['test'].message_type = eolymp_dot_atlas_dot_test__pb2._TEST
_UPDATETESTINPUT.fields_by_name['test'].message_type = eolymp_dot_atlas_dot_test__pb2._TEST
_LISTPERMISSIONSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_permission__pb2._PERMISSION
_GRANTPERMISSIONINPUT.fields_by_name['permission'].message_type = eolymp_dot_atlas_dot_permission__pb2._PERMISSION
_CREATECODETEMPLATEINPUT.fields_by_name['template'].message_type = eolymp_dot_atlas_dot_template__pb2._TEMPLATE
_UPDATECODETEMPLATEINPUT.fields_by_name['template'].message_type = eolymp_dot_atlas_dot_template__pb2._TEMPLATE
_LISTCODETEMPLATESOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_template__pb2._TEMPLATE
_DESCRIBECODETEMPLATEOUTPUT.fields_by_name['template'].message_type = eolymp_dot_atlas_dot_template__pb2._TEMPLATE
_DESCRIBECHANGEOUTPUT.fields_by_name['change'].message_type = eolymp_dot_atlas_dot_change__pb2._CHANGE
_LISTCHANGESINPUT_FILTER.fields_by_name['id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTCHANGESINPUT_FILTER.fields_by_name['ip_address'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTCHANGESINPUT_FILTER.fields_by_name['user_id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTCHANGESINPUT_FILTER.fields_by_name['timestamp'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONTIMESTAMP
_LISTCHANGESINPUT_FILTER.fields_by_name['type'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONENUM
_LISTCHANGESINPUT_FILTER.containing_type = _LISTCHANGESINPUT
_LISTCHANGESINPUT.fields_by_name['filters'].message_type = _LISTCHANGESINPUT_FILTER
_LISTCHANGESOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_change__pb2._CHANGE
_LISTPROBLEMTOPOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_submission__pb2._SUBMISSION
_DESCRIBEPROBLEMGRADINGOUTPUT_RANGE.containing_type = _DESCRIBEPROBLEMGRADINGOUTPUT
_DESCRIBEPROBLEMGRADINGOUTPUT.fields_by_name['ranges'].message_type = _DESCRIBEPROBLEMGRADINGOUTPUT_RANGE
_CREATESOLUTIONINPUT.fields_by_name['solution'].message_type = eolymp_dot_atlas_dot_solution__pb2._SOLUTION
_UPDATESOLUTIONINPUT.fields_by_name['solution'].message_type = eolymp_dot_atlas_dot_solution__pb2._SOLUTION
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['problem_id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['author_id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['moderation_status'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONENUM
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['published'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONBOOL
_LISTSOLUTIONSINPUT_FILTER.fields_by_name['lang'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONENUM
_LISTSOLUTIONSINPUT_FILTER.containing_type = _LISTSOLUTIONSINPUT
_LISTSOLUTIONSINPUT.fields_by_name['filters'].message_type = _LISTSOLUTIONSINPUT_FILTER
_LISTSOLUTIONSOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_solution__pb2._SOLUTION
_DESCRIBESOLUTIONOUTPUT.fields_by_name['solution'].message_type = eolymp_dot_atlas_dot_solution__pb2._SOLUTION
_LISTCATEGORIESINPUT_FILTER.fields_by_name['id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTCATEGORIESINPUT_FILTER.fields_by_name['parent_id'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONID
_LISTCATEGORIESINPUT_FILTER.fields_by_name['is_visible'].message_type = eolymp_dot_wellknown_dot_expression__pb2._EXPRESSIONBOOL
_LISTCATEGORIESINPUT_FILTER.containing_type = _LISTCATEGORIESINPUT
_LISTCATEGORIESINPUT.fields_by_name['filters'].message_type = _LISTCATEGORIESINPUT_FILTER
_LISTCATEGORIESOUTPUT.fields_by_name['items'].message_type = eolymp_dot_atlas_dot_category__pb2._CATEGORY
_CREATECATEGORYINPUT.fields_by_name['category'].message_type = eolymp_dot_atlas_dot_category__pb2._CATEGORY
_UPDATECATEGORYINPUT.fields_by_name['category'].message_type = eolymp_dot_atlas_dot_category__pb2._CATEGORY
_DESCRIBECATEGORYOUTPUT.fields_by_name['category'].message_type = eolymp_dot_atlas_dot_category__pb2._CATEGORY
_DESCRIBESUBMISSIONOUTPUT.fields_by_name['submission'].message_type = eolymp_dot_atlas_dot_submission__pb2._SUBMISSION
_DESCRIBESCOREOUTPUT.fields_by_name['score'].message_type = eolymp_dot_atlas_dot_score__pb2._SCORE
DESCRIPTOR.message_types_by_name['ListProblemsInput'] = _LISTPROBLEMSINPUT
DESCRIPTOR.message_types_by_name['ListProblemsOutput'] = _LISTPROBLEMSOUTPUT
DESCRIPTOR.message_types_by_name['CreateProblemInput'] = _CREATEPROBLEMINPUT
DESCRIPTOR.message_types_by_name['CreateProblemOutput'] = _CREATEPROBLEMOUTPUT
DESCRIPTOR.message_types_by_name['DeleteProblemInput'] = _DELETEPROBLEMINPUT
DESCRIPTOR.message_types_by_name['DeleteProblemOutput'] = _DELETEPROBLEMOUTPUT
DESCRIPTOR.message_types_by_name['DescribeProblemInput'] = _DESCRIBEPROBLEMINPUT
DESCRIPTOR.message_types_by_name['DescribeProblemOutput'] = _DESCRIBEPROBLEMOUTPUT
DESCRIPTOR.message_types_by_name['ListStatementsInput'] = _LISTSTATEMENTSINPUT
DESCRIPTOR.message_types_by_name['ListStatementsOutput'] = _LISTSTATEMENTSOUTPUT
DESCRIPTOR.message_types_by_name['DescribeStatementInput'] = _DESCRIBESTATEMENTINPUT
DESCRIPTOR.message_types_by_name['DescribeStatementOutput'] = _DESCRIBESTATEMENTOUTPUT
DESCRIPTOR.message_types_by_name['CreateStatementInput'] = _CREATESTATEMENTINPUT
DESCRIPTOR.message_types_by_name['CreateStatementOutput'] = _CREATESTATEMENTOUTPUT
DESCRIPTOR.message_types_by_name['UpdateStatementInput'] = _UPDATESTATEMENTINPUT
DESCRIPTOR.message_types_by_name['UpdateStatementOutput'] = _UPDATESTATEMENTOUTPUT
DESCRIPTOR.message_types_by_name['DeleteStatementInput'] = _DELETESTATEMENTINPUT
DESCRIPTOR.message_types_by_name['DeleteStatementOutput'] = _DELETESTATEMENTOUTPUT
DESCRIPTOR.message_types_by_name['UpdateVerifierInput'] = _UPDATEVERIFIERINPUT
DESCRIPTOR.message_types_by_name['UpdateVerifierOutput'] = _UPDATEVERIFIEROUTPUT
DESCRIPTOR.message_types_by_name['DescribeVerifierInput'] = _DESCRIBEVERIFIERINPUT
DESCRIPTOR.message_types_by_name['DescribeVerifierOutput'] = _DESCRIBEVERIFIEROUTPUT
DESCRIPTOR.message_types_by_name['UpdateInteractorInput'] = _UPDATEINTERACTORINPUT
DESCRIPTOR.message_types_by_name['UpdateInteractorOutput'] = _UPDATEINTERACTOROUTPUT
DESCRIPTOR.message_types_by_name['DescribeInteractorInput'] = _DESCRIBEINTERACTORINPUT
DESCRIPTOR.message_types_by_name['DescribeInteractorOutput'] = _DESCRIBEINTERACTOROUTPUT
DESCRIPTOR.message_types_by_name['ListTestsetsInput'] = _LISTTESTSETSINPUT
DESCRIPTOR.message_types_by_name['ListTestsetsOutput'] = _LISTTESTSETSOUTPUT
DESCRIPTOR.message_types_by_name['DescribeTestsetInput'] = _DESCRIBETESTSETINPUT
DESCRIPTOR.message_types_by_name['DescribeTestsetOutput'] = _DESCRIBETESTSETOUTPUT
DESCRIPTOR.message_types_by_name['CreateTestsetInput'] = _CREATETESTSETINPUT
DESCRIPTOR.message_types_by_name['CreateTestsetOutput'] = _CREATETESTSETOUTPUT
DESCRIPTOR.message_types_by_name['UpdateTestsetInput'] = _UPDATETESTSETINPUT
DESCRIPTOR.message_types_by_name['UpdateTestsetOutput'] = _UPDATETESTSETOUTPUT
DESCRIPTOR.message_types_by_name['DeleteTestsetInput'] = _DELETETESTSETINPUT
DESCRIPTOR.message_types_by_name['DeleteTestsetOutput'] = _DELETETESTSETOUTPUT
DESCRIPTOR.message_types_by_name['ListExamplesInput'] = _LISTEXAMPLESINPUT
DESCRIPTOR.message_types_by_name['ListExamplesOutput'] = _LISTEXAMPLESOUTPUT
DESCRIPTOR.message_types_by_name['ListTestsInput'] = _LISTTESTSINPUT
DESCRIPTOR.message_types_by_name['ListTestsOutput'] = _LISTTESTSOUTPUT
DESCRIPTOR.message_types_by_name['DescribeTestInput'] = _DESCRIBETESTINPUT
DESCRIPTOR.message_types_by_name['DescribeTestOutput'] = _DESCRIBETESTOUTPUT
DESCRIPTOR.message_types_by_name['CreateTestInput'] = _CREATETESTINPUT
DESCRIPTOR.message_types_by_name['CreateTestOutput'] = _CREATETESTOUTPUT
DESCRIPTOR.message_types_by_name['UpdateTestInput'] = _UPDATETESTINPUT
DESCRIPTOR.message_types_by_name['UpdateTestOutput'] = _UPDATETESTOUTPUT
DESCRIPTOR.message_types_by_name['DeleteTestInput'] = _DELETETESTINPUT
DESCRIPTOR.message_types_by_name['DeleteTestOutput'] = _DELETETESTOUTPUT
DESCRIPTOR.message_types_by_name['ListPermissionsInput'] = _LISTPERMISSIONSINPUT
DESCRIPTOR.message_types_by_name['ListPermissionsOutput'] = _LISTPERMISSIONSOUTPUT
DESCRIPTOR.message_types_by_name['GrantPermissionInput'] = _GRANTPERMISSIONINPUT
DESCRIPTOR.message_types_by_name['GrantPermissionOutput'] = _GRANTPERMISSIONOUTPUT
DESCRIPTOR.message_types_by_name['RevokePermissionInput'] = _REVOKEPERMISSIONINPUT
DESCRIPTOR.message_types_by_name['RevokePermissionOutput'] = _REVOKEPERMISSIONOUTPUT
DESCRIPTOR.message_types_by_name['CreateCodeTemplateInput'] = _CREATECODETEMPLATEINPUT
DESCRIPTOR.message_types_by_name['CreateCodeTemplateOutput'] = _CREATECODETEMPLATEOUTPUT
DESCRIPTOR.message_types_by_name['UpdateCodeTemplateInput'] = _UPDATECODETEMPLATEINPUT
DESCRIPTOR.message_types_by_name['UpdateCodeTemplateOutput'] = _UPDATECODETEMPLATEOUTPUT
DESCRIPTOR.message_types_by_name['DeleteCodeTemplateInput'] = _DELETECODETEMPLATEINPUT
DESCRIPTOR.message_types_by_name['DeleteCodeTemplateOutput'] = _DELETECODETEMPLATEOUTPUT
DESCRIPTOR.message_types_by_name['ListCodeTemplatesInput'] = _LISTCODETEMPLATESINPUT
DESCRIPTOR.message_types_by_name['ListCodeTemplatesOutput'] = _LISTCODETEMPLATESOUTPUT
DESCRIPTOR.message_types_by_name['DescribeCodeTemplateInput'] = _DESCRIBECODETEMPLATEINPUT
DESCRIPTOR.message_types_by_name['DescribeCodeTemplateOutput'] = _DESCRIBECODETEMPLATEOUTPUT
DESCRIPTOR.message_types_by_name['DescribeChangeInput'] = _DESCRIBECHANGEINPUT
DESCRIPTOR.message_types_by_name['DescribeChangeOutput'] = _DESCRIBECHANGEOUTPUT
DESCRIPTOR.message_types_by_name['ListChangesInput'] = _LISTCHANGESINPUT
DESCRIPTOR.message_types_by_name['ListChangesOutput'] = _LISTCHANGESOUTPUT
DESCRIPTOR.message_types_by_name['ListProblemTopInput'] = _LISTPROBLEMTOPINPUT
DESCRIPTOR.message_types_by_name['ListProblemTopOutput'] = _LISTPROBLEMTOPOUTPUT
DESCRIPTOR.message_types_by_name['DescribeProblemGradingInput'] = _DESCRIBEPROBLEMGRADINGINPUT
DESCRIPTOR.message_types_by_name['DescribeProblemGradingOutput'] = _DESCRIBEPROBLEMGRADINGOUTPUT
DESCRIPTOR.message_types_by_name['CreateSolutionInput'] = _CREATESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['CreateSolutionOutput'] = _CREATESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['UpdateSolutionInput'] = _UPDATESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['UpdateSolutionOutput'] = _UPDATESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['DeleteSolutionInput'] = _DELETESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['DeleteSolutionOutput'] = _DELETESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['ListSolutionsInput'] = _LISTSOLUTIONSINPUT
DESCRIPTOR.message_types_by_name['ListSolutionsOutput'] = _LISTSOLUTIONSOUTPUT
DESCRIPTOR.message_types_by_name['DescribeSolutionInput'] = _DESCRIBESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['DescribeSolutionOutput'] = _DESCRIBESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['PublishSolutionInput'] = _PUBLISHSOLUTIONINPUT
DESCRIPTOR.message_types_by_name['PublishSolutionOutput'] = _PUBLISHSOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['UnpublishSolutionInput'] = _UNPUBLISHSOLUTIONINPUT
DESCRIPTOR.message_types_by_name['UnpublishSolutionOutput'] = _UNPUBLISHSOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['ApproveSolutionInput'] = _APPROVESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['ApproveSolutionOutput'] = _APPROVESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['RefuseSolutionInput'] = _REFUSESOLUTIONINPUT
DESCRIPTOR.message_types_by_name['RefuseSolutionOutput'] = _REFUSESOLUTIONOUTPUT
DESCRIPTOR.message_types_by_name['ListCategoriesInput'] = _LISTCATEGORIESINPUT
DESCRIPTOR.message_types_by_name['ListCategoriesOutput'] = _LISTCATEGORIESOUTPUT
DESCRIPTOR.message_types_by_name['CreateCategoryInput'] = _CREATECATEGORYINPUT
DESCRIPTOR.message_types_by_name['CreateCategoryOutput'] = _CREATECATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['UpdateCategoryInput'] = _UPDATECATEGORYINPUT
DESCRIPTOR.message_types_by_name['UpdateCategoryOutput'] = _UPDATECATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['DeleteCategoryInput'] = _DELETECATEGORYINPUT
DESCRIPTOR.message_types_by_name['DeleteCategoryOutput'] = _DELETECATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['DescribeCategoryInput'] = _DESCRIBECATEGORYINPUT
DESCRIPTOR.message_types_by_name['DescribeCategoryOutput'] = _DESCRIBECATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['AssignCategoryInput'] = _ASSIGNCATEGORYINPUT
DESCRIPTOR.message_types_by_name['AssignCategoryOutput'] = _ASSIGNCATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['UnassignCategoryInput'] = _UNASSIGNCATEGORYINPUT
DESCRIPTOR.message_types_by_name['UnassignCategoryOutput'] = _UNASSIGNCATEGORYOUTPUT
DESCRIPTOR.message_types_by_name['CreateSubmissionInput'] = _CREATESUBMISSIONINPUT
DESCRIPTOR.message_types_by_name['CreateSubmissionOutput'] = _CREATESUBMISSIONOUTPUT
DESCRIPTOR.message_types_by_name['DescribeSubmissionInput'] = _DESCRIBESUBMISSIONINPUT
DESCRIPTOR.message_types_by_name['DescribeSubmissionOutput'] = _DESCRIBESUBMISSIONOUTPUT
DESCRIPTOR.message_types_by_name['DescribeScoreInput'] = _DESCRIBESCOREINPUT
DESCRIPTOR.message_types_by_name['DescribeScoreOutput'] = _DESCRIBESCOREOUTPUT
DESCRIPTOR.message_types_by_name['UpdateVisibilityInput'] = _UPDATEVISIBILITYINPUT
DESCRIPTOR.message_types_by_name['UpdateVisibilityOutput'] = _UPDATEVISIBILITYOUTPUT
DESCRIPTOR.message_types_by_name['UpdatePrivacyInput'] = _UPDATEPRIVACYINPUT
DESCRIPTOR.message_types_by_name['UpdatePrivacyOutput'] = _UPDATEPRIVACYOUTPUT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ListProblemsInput = _reflection.GeneratedProtocolMessageType('ListProblemsInput', (_message.Message,), {

  'Filter' : _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), {
    'DESCRIPTOR' : _LISTPROBLEMSINPUT_FILTER,
    '__module__' : 'eolymp.atlas.atlas_pb2'
    # @@protoc_insertion_point(class_scope:eolymp.atlas.ListProblemsInput.Filter)
    })
  ,
  'DESCRIPTOR' : _LISTPROBLEMSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListProblemsInput)
  })
_sym_db.RegisterMessage(ListProblemsInput)
_sym_db.RegisterMessage(ListProblemsInput.Filter)

ListProblemsOutput = _reflection.GeneratedProtocolMessageType('ListProblemsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROBLEMSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListProblemsOutput)
  })
_sym_db.RegisterMessage(ListProblemsOutput)

CreateProblemInput = _reflection.GeneratedProtocolMessageType('CreateProblemInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATEPROBLEMINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateProblemInput)
  })
_sym_db.RegisterMessage(CreateProblemInput)

CreateProblemOutput = _reflection.GeneratedProtocolMessageType('CreateProblemOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATEPROBLEMOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateProblemOutput)
  })
_sym_db.RegisterMessage(CreateProblemOutput)

DeleteProblemInput = _reflection.GeneratedProtocolMessageType('DeleteProblemInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETEPROBLEMINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteProblemInput)
  })
_sym_db.RegisterMessage(DeleteProblemInput)

DeleteProblemOutput = _reflection.GeneratedProtocolMessageType('DeleteProblemOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETEPROBLEMOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteProblemOutput)
  })
_sym_db.RegisterMessage(DeleteProblemOutput)

DescribeProblemInput = _reflection.GeneratedProtocolMessageType('DescribeProblemInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEPROBLEMINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeProblemInput)
  })
_sym_db.RegisterMessage(DescribeProblemInput)

DescribeProblemOutput = _reflection.GeneratedProtocolMessageType('DescribeProblemOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEPROBLEMOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeProblemOutput)
  })
_sym_db.RegisterMessage(DescribeProblemOutput)

ListStatementsInput = _reflection.GeneratedProtocolMessageType('ListStatementsInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTSTATEMENTSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListStatementsInput)
  })
_sym_db.RegisterMessage(ListStatementsInput)

ListStatementsOutput = _reflection.GeneratedProtocolMessageType('ListStatementsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTSTATEMENTSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListStatementsOutput)
  })
_sym_db.RegisterMessage(ListStatementsOutput)

DescribeStatementInput = _reflection.GeneratedProtocolMessageType('DescribeStatementInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESTATEMENTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeStatementInput)
  })
_sym_db.RegisterMessage(DescribeStatementInput)

DescribeStatementOutput = _reflection.GeneratedProtocolMessageType('DescribeStatementOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESTATEMENTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeStatementOutput)
  })
_sym_db.RegisterMessage(DescribeStatementOutput)

CreateStatementInput = _reflection.GeneratedProtocolMessageType('CreateStatementInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESTATEMENTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateStatementInput)
  })
_sym_db.RegisterMessage(CreateStatementInput)

CreateStatementOutput = _reflection.GeneratedProtocolMessageType('CreateStatementOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESTATEMENTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateStatementOutput)
  })
_sym_db.RegisterMessage(CreateStatementOutput)

UpdateStatementInput = _reflection.GeneratedProtocolMessageType('UpdateStatementInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATESTATEMENTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateStatementInput)
  })
_sym_db.RegisterMessage(UpdateStatementInput)

UpdateStatementOutput = _reflection.GeneratedProtocolMessageType('UpdateStatementOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATESTATEMENTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateStatementOutput)
  })
_sym_db.RegisterMessage(UpdateStatementOutput)

DeleteStatementInput = _reflection.GeneratedProtocolMessageType('DeleteStatementInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETESTATEMENTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteStatementInput)
  })
_sym_db.RegisterMessage(DeleteStatementInput)

DeleteStatementOutput = _reflection.GeneratedProtocolMessageType('DeleteStatementOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETESTATEMENTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteStatementOutput)
  })
_sym_db.RegisterMessage(DeleteStatementOutput)

UpdateVerifierInput = _reflection.GeneratedProtocolMessageType('UpdateVerifierInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEVERIFIERINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateVerifierInput)
  })
_sym_db.RegisterMessage(UpdateVerifierInput)

UpdateVerifierOutput = _reflection.GeneratedProtocolMessageType('UpdateVerifierOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEVERIFIEROUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateVerifierOutput)
  })
_sym_db.RegisterMessage(UpdateVerifierOutput)

DescribeVerifierInput = _reflection.GeneratedProtocolMessageType('DescribeVerifierInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEVERIFIERINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeVerifierInput)
  })
_sym_db.RegisterMessage(DescribeVerifierInput)

DescribeVerifierOutput = _reflection.GeneratedProtocolMessageType('DescribeVerifierOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEVERIFIEROUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeVerifierOutput)
  })
_sym_db.RegisterMessage(DescribeVerifierOutput)

UpdateInteractorInput = _reflection.GeneratedProtocolMessageType('UpdateInteractorInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEINTERACTORINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateInteractorInput)
  })
_sym_db.RegisterMessage(UpdateInteractorInput)

UpdateInteractorOutput = _reflection.GeneratedProtocolMessageType('UpdateInteractorOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEINTERACTOROUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateInteractorOutput)
  })
_sym_db.RegisterMessage(UpdateInteractorOutput)

DescribeInteractorInput = _reflection.GeneratedProtocolMessageType('DescribeInteractorInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEINTERACTORINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeInteractorInput)
  })
_sym_db.RegisterMessage(DescribeInteractorInput)

DescribeInteractorOutput = _reflection.GeneratedProtocolMessageType('DescribeInteractorOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEINTERACTOROUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeInteractorOutput)
  })
_sym_db.RegisterMessage(DescribeInteractorOutput)

ListTestsetsInput = _reflection.GeneratedProtocolMessageType('ListTestsetsInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTTESTSETSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListTestsetsInput)
  })
_sym_db.RegisterMessage(ListTestsetsInput)

ListTestsetsOutput = _reflection.GeneratedProtocolMessageType('ListTestsetsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTTESTSETSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListTestsetsOutput)
  })
_sym_db.RegisterMessage(ListTestsetsOutput)

DescribeTestsetInput = _reflection.GeneratedProtocolMessageType('DescribeTestsetInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBETESTSETINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeTestsetInput)
  })
_sym_db.RegisterMessage(DescribeTestsetInput)

DescribeTestsetOutput = _reflection.GeneratedProtocolMessageType('DescribeTestsetOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBETESTSETOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeTestsetOutput)
  })
_sym_db.RegisterMessage(DescribeTestsetOutput)

CreateTestsetInput = _reflection.GeneratedProtocolMessageType('CreateTestsetInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATETESTSETINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateTestsetInput)
  })
_sym_db.RegisterMessage(CreateTestsetInput)

CreateTestsetOutput = _reflection.GeneratedProtocolMessageType('CreateTestsetOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATETESTSETOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateTestsetOutput)
  })
_sym_db.RegisterMessage(CreateTestsetOutput)

UpdateTestsetInput = _reflection.GeneratedProtocolMessageType('UpdateTestsetInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATETESTSETINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateTestsetInput)
  })
_sym_db.RegisterMessage(UpdateTestsetInput)

UpdateTestsetOutput = _reflection.GeneratedProtocolMessageType('UpdateTestsetOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATETESTSETOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateTestsetOutput)
  })
_sym_db.RegisterMessage(UpdateTestsetOutput)

DeleteTestsetInput = _reflection.GeneratedProtocolMessageType('DeleteTestsetInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETETESTSETINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteTestsetInput)
  })
_sym_db.RegisterMessage(DeleteTestsetInput)

DeleteTestsetOutput = _reflection.GeneratedProtocolMessageType('DeleteTestsetOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETETESTSETOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteTestsetOutput)
  })
_sym_db.RegisterMessage(DeleteTestsetOutput)

ListExamplesInput = _reflection.GeneratedProtocolMessageType('ListExamplesInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTEXAMPLESINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListExamplesInput)
  })
_sym_db.RegisterMessage(ListExamplesInput)

ListExamplesOutput = _reflection.GeneratedProtocolMessageType('ListExamplesOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTEXAMPLESOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListExamplesOutput)
  })
_sym_db.RegisterMessage(ListExamplesOutput)

ListTestsInput = _reflection.GeneratedProtocolMessageType('ListTestsInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTTESTSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListTestsInput)
  })
_sym_db.RegisterMessage(ListTestsInput)

ListTestsOutput = _reflection.GeneratedProtocolMessageType('ListTestsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTTESTSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListTestsOutput)
  })
_sym_db.RegisterMessage(ListTestsOutput)

DescribeTestInput = _reflection.GeneratedProtocolMessageType('DescribeTestInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBETESTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeTestInput)
  })
_sym_db.RegisterMessage(DescribeTestInput)

DescribeTestOutput = _reflection.GeneratedProtocolMessageType('DescribeTestOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBETESTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeTestOutput)
  })
_sym_db.RegisterMessage(DescribeTestOutput)

CreateTestInput = _reflection.GeneratedProtocolMessageType('CreateTestInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATETESTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateTestInput)
  })
_sym_db.RegisterMessage(CreateTestInput)

CreateTestOutput = _reflection.GeneratedProtocolMessageType('CreateTestOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATETESTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateTestOutput)
  })
_sym_db.RegisterMessage(CreateTestOutput)

UpdateTestInput = _reflection.GeneratedProtocolMessageType('UpdateTestInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATETESTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateTestInput)
  })
_sym_db.RegisterMessage(UpdateTestInput)

UpdateTestOutput = _reflection.GeneratedProtocolMessageType('UpdateTestOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATETESTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateTestOutput)
  })
_sym_db.RegisterMessage(UpdateTestOutput)

DeleteTestInput = _reflection.GeneratedProtocolMessageType('DeleteTestInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETETESTINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteTestInput)
  })
_sym_db.RegisterMessage(DeleteTestInput)

DeleteTestOutput = _reflection.GeneratedProtocolMessageType('DeleteTestOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETETESTOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteTestOutput)
  })
_sym_db.RegisterMessage(DeleteTestOutput)

ListPermissionsInput = _reflection.GeneratedProtocolMessageType('ListPermissionsInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTPERMISSIONSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListPermissionsInput)
  })
_sym_db.RegisterMessage(ListPermissionsInput)

ListPermissionsOutput = _reflection.GeneratedProtocolMessageType('ListPermissionsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTPERMISSIONSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListPermissionsOutput)
  })
_sym_db.RegisterMessage(ListPermissionsOutput)

GrantPermissionInput = _reflection.GeneratedProtocolMessageType('GrantPermissionInput', (_message.Message,), {
  'DESCRIPTOR' : _GRANTPERMISSIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.GrantPermissionInput)
  })
_sym_db.RegisterMessage(GrantPermissionInput)

GrantPermissionOutput = _reflection.GeneratedProtocolMessageType('GrantPermissionOutput', (_message.Message,), {
  'DESCRIPTOR' : _GRANTPERMISSIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.GrantPermissionOutput)
  })
_sym_db.RegisterMessage(GrantPermissionOutput)

RevokePermissionInput = _reflection.GeneratedProtocolMessageType('RevokePermissionInput', (_message.Message,), {
  'DESCRIPTOR' : _REVOKEPERMISSIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.RevokePermissionInput)
  })
_sym_db.RegisterMessage(RevokePermissionInput)

RevokePermissionOutput = _reflection.GeneratedProtocolMessageType('RevokePermissionOutput', (_message.Message,), {
  'DESCRIPTOR' : _REVOKEPERMISSIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.RevokePermissionOutput)
  })
_sym_db.RegisterMessage(RevokePermissionOutput)

CreateCodeTemplateInput = _reflection.GeneratedProtocolMessageType('CreateCodeTemplateInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATECODETEMPLATEINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateCodeTemplateInput)
  })
_sym_db.RegisterMessage(CreateCodeTemplateInput)

CreateCodeTemplateOutput = _reflection.GeneratedProtocolMessageType('CreateCodeTemplateOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATECODETEMPLATEOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateCodeTemplateOutput)
  })
_sym_db.RegisterMessage(CreateCodeTemplateOutput)

UpdateCodeTemplateInput = _reflection.GeneratedProtocolMessageType('UpdateCodeTemplateInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATECODETEMPLATEINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateCodeTemplateInput)
  })
_sym_db.RegisterMessage(UpdateCodeTemplateInput)

UpdateCodeTemplateOutput = _reflection.GeneratedProtocolMessageType('UpdateCodeTemplateOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATECODETEMPLATEOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateCodeTemplateOutput)
  })
_sym_db.RegisterMessage(UpdateCodeTemplateOutput)

DeleteCodeTemplateInput = _reflection.GeneratedProtocolMessageType('DeleteCodeTemplateInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETECODETEMPLATEINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteCodeTemplateInput)
  })
_sym_db.RegisterMessage(DeleteCodeTemplateInput)

DeleteCodeTemplateOutput = _reflection.GeneratedProtocolMessageType('DeleteCodeTemplateOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETECODETEMPLATEOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteCodeTemplateOutput)
  })
_sym_db.RegisterMessage(DeleteCodeTemplateOutput)

ListCodeTemplatesInput = _reflection.GeneratedProtocolMessageType('ListCodeTemplatesInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTCODETEMPLATESINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListCodeTemplatesInput)
  })
_sym_db.RegisterMessage(ListCodeTemplatesInput)

ListCodeTemplatesOutput = _reflection.GeneratedProtocolMessageType('ListCodeTemplatesOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTCODETEMPLATESOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListCodeTemplatesOutput)
  })
_sym_db.RegisterMessage(ListCodeTemplatesOutput)

DescribeCodeTemplateInput = _reflection.GeneratedProtocolMessageType('DescribeCodeTemplateInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECODETEMPLATEINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeCodeTemplateInput)
  })
_sym_db.RegisterMessage(DescribeCodeTemplateInput)

DescribeCodeTemplateOutput = _reflection.GeneratedProtocolMessageType('DescribeCodeTemplateOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECODETEMPLATEOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeCodeTemplateOutput)
  })
_sym_db.RegisterMessage(DescribeCodeTemplateOutput)

DescribeChangeInput = _reflection.GeneratedProtocolMessageType('DescribeChangeInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECHANGEINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeChangeInput)
  })
_sym_db.RegisterMessage(DescribeChangeInput)

DescribeChangeOutput = _reflection.GeneratedProtocolMessageType('DescribeChangeOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECHANGEOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeChangeOutput)
  })
_sym_db.RegisterMessage(DescribeChangeOutput)

ListChangesInput = _reflection.GeneratedProtocolMessageType('ListChangesInput', (_message.Message,), {

  'Filter' : _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), {
    'DESCRIPTOR' : _LISTCHANGESINPUT_FILTER,
    '__module__' : 'eolymp.atlas.atlas_pb2'
    # @@protoc_insertion_point(class_scope:eolymp.atlas.ListChangesInput.Filter)
    })
  ,
  'DESCRIPTOR' : _LISTCHANGESINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListChangesInput)
  })
_sym_db.RegisterMessage(ListChangesInput)
_sym_db.RegisterMessage(ListChangesInput.Filter)

ListChangesOutput = _reflection.GeneratedProtocolMessageType('ListChangesOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTCHANGESOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListChangesOutput)
  })
_sym_db.RegisterMessage(ListChangesOutput)

ListProblemTopInput = _reflection.GeneratedProtocolMessageType('ListProblemTopInput', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROBLEMTOPINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListProblemTopInput)
  })
_sym_db.RegisterMessage(ListProblemTopInput)

ListProblemTopOutput = _reflection.GeneratedProtocolMessageType('ListProblemTopOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROBLEMTOPOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListProblemTopOutput)
  })
_sym_db.RegisterMessage(ListProblemTopOutput)

DescribeProblemGradingInput = _reflection.GeneratedProtocolMessageType('DescribeProblemGradingInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBEPROBLEMGRADINGINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeProblemGradingInput)
  })
_sym_db.RegisterMessage(DescribeProblemGradingInput)

DescribeProblemGradingOutput = _reflection.GeneratedProtocolMessageType('DescribeProblemGradingOutput', (_message.Message,), {

  'Range' : _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), {
    'DESCRIPTOR' : _DESCRIBEPROBLEMGRADINGOUTPUT_RANGE,
    '__module__' : 'eolymp.atlas.atlas_pb2'
    # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeProblemGradingOutput.Range)
    })
  ,
  'DESCRIPTOR' : _DESCRIBEPROBLEMGRADINGOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeProblemGradingOutput)
  })
_sym_db.RegisterMessage(DescribeProblemGradingOutput)
_sym_db.RegisterMessage(DescribeProblemGradingOutput.Range)

CreateSolutionInput = _reflection.GeneratedProtocolMessageType('CreateSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateSolutionInput)
  })
_sym_db.RegisterMessage(CreateSolutionInput)

CreateSolutionOutput = _reflection.GeneratedProtocolMessageType('CreateSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateSolutionOutput)
  })
_sym_db.RegisterMessage(CreateSolutionOutput)

UpdateSolutionInput = _reflection.GeneratedProtocolMessageType('UpdateSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateSolutionInput)
  })
_sym_db.RegisterMessage(UpdateSolutionInput)

UpdateSolutionOutput = _reflection.GeneratedProtocolMessageType('UpdateSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateSolutionOutput)
  })
_sym_db.RegisterMessage(UpdateSolutionOutput)

DeleteSolutionInput = _reflection.GeneratedProtocolMessageType('DeleteSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteSolutionInput)
  })
_sym_db.RegisterMessage(DeleteSolutionInput)

DeleteSolutionOutput = _reflection.GeneratedProtocolMessageType('DeleteSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteSolutionOutput)
  })
_sym_db.RegisterMessage(DeleteSolutionOutput)

ListSolutionsInput = _reflection.GeneratedProtocolMessageType('ListSolutionsInput', (_message.Message,), {

  'Filter' : _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), {
    'DESCRIPTOR' : _LISTSOLUTIONSINPUT_FILTER,
    '__module__' : 'eolymp.atlas.atlas_pb2'
    # @@protoc_insertion_point(class_scope:eolymp.atlas.ListSolutionsInput.Filter)
    })
  ,
  'DESCRIPTOR' : _LISTSOLUTIONSINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListSolutionsInput)
  })
_sym_db.RegisterMessage(ListSolutionsInput)
_sym_db.RegisterMessage(ListSolutionsInput.Filter)

ListSolutionsOutput = _reflection.GeneratedProtocolMessageType('ListSolutionsOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTSOLUTIONSOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListSolutionsOutput)
  })
_sym_db.RegisterMessage(ListSolutionsOutput)

DescribeSolutionInput = _reflection.GeneratedProtocolMessageType('DescribeSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeSolutionInput)
  })
_sym_db.RegisterMessage(DescribeSolutionInput)

DescribeSolutionOutput = _reflection.GeneratedProtocolMessageType('DescribeSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeSolutionOutput)
  })
_sym_db.RegisterMessage(DescribeSolutionOutput)

PublishSolutionInput = _reflection.GeneratedProtocolMessageType('PublishSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _PUBLISHSOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.PublishSolutionInput)
  })
_sym_db.RegisterMessage(PublishSolutionInput)

PublishSolutionOutput = _reflection.GeneratedProtocolMessageType('PublishSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _PUBLISHSOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.PublishSolutionOutput)
  })
_sym_db.RegisterMessage(PublishSolutionOutput)

UnpublishSolutionInput = _reflection.GeneratedProtocolMessageType('UnpublishSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _UNPUBLISHSOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UnpublishSolutionInput)
  })
_sym_db.RegisterMessage(UnpublishSolutionInput)

UnpublishSolutionOutput = _reflection.GeneratedProtocolMessageType('UnpublishSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _UNPUBLISHSOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UnpublishSolutionOutput)
  })
_sym_db.RegisterMessage(UnpublishSolutionOutput)

ApproveSolutionInput = _reflection.GeneratedProtocolMessageType('ApproveSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _APPROVESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ApproveSolutionInput)
  })
_sym_db.RegisterMessage(ApproveSolutionInput)

ApproveSolutionOutput = _reflection.GeneratedProtocolMessageType('ApproveSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _APPROVESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ApproveSolutionOutput)
  })
_sym_db.RegisterMessage(ApproveSolutionOutput)

RefuseSolutionInput = _reflection.GeneratedProtocolMessageType('RefuseSolutionInput', (_message.Message,), {
  'DESCRIPTOR' : _REFUSESOLUTIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.RefuseSolutionInput)
  })
_sym_db.RegisterMessage(RefuseSolutionInput)

RefuseSolutionOutput = _reflection.GeneratedProtocolMessageType('RefuseSolutionOutput', (_message.Message,), {
  'DESCRIPTOR' : _REFUSESOLUTIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.RefuseSolutionOutput)
  })
_sym_db.RegisterMessage(RefuseSolutionOutput)

ListCategoriesInput = _reflection.GeneratedProtocolMessageType('ListCategoriesInput', (_message.Message,), {

  'Filter' : _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), {
    'DESCRIPTOR' : _LISTCATEGORIESINPUT_FILTER,
    '__module__' : 'eolymp.atlas.atlas_pb2'
    # @@protoc_insertion_point(class_scope:eolymp.atlas.ListCategoriesInput.Filter)
    })
  ,
  'DESCRIPTOR' : _LISTCATEGORIESINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListCategoriesInput)
  })
_sym_db.RegisterMessage(ListCategoriesInput)
_sym_db.RegisterMessage(ListCategoriesInput.Filter)

ListCategoriesOutput = _reflection.GeneratedProtocolMessageType('ListCategoriesOutput', (_message.Message,), {
  'DESCRIPTOR' : _LISTCATEGORIESOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.ListCategoriesOutput)
  })
_sym_db.RegisterMessage(ListCategoriesOutput)

CreateCategoryInput = _reflection.GeneratedProtocolMessageType('CreateCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATECATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateCategoryInput)
  })
_sym_db.RegisterMessage(CreateCategoryInput)

CreateCategoryOutput = _reflection.GeneratedProtocolMessageType('CreateCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATECATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateCategoryOutput)
  })
_sym_db.RegisterMessage(CreateCategoryOutput)

UpdateCategoryInput = _reflection.GeneratedProtocolMessageType('UpdateCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATECATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateCategoryInput)
  })
_sym_db.RegisterMessage(UpdateCategoryInput)

UpdateCategoryOutput = _reflection.GeneratedProtocolMessageType('UpdateCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATECATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateCategoryOutput)
  })
_sym_db.RegisterMessage(UpdateCategoryOutput)

DeleteCategoryInput = _reflection.GeneratedProtocolMessageType('DeleteCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _DELETECATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteCategoryInput)
  })
_sym_db.RegisterMessage(DeleteCategoryInput)

DeleteCategoryOutput = _reflection.GeneratedProtocolMessageType('DeleteCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _DELETECATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DeleteCategoryOutput)
  })
_sym_db.RegisterMessage(DeleteCategoryOutput)

DescribeCategoryInput = _reflection.GeneratedProtocolMessageType('DescribeCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeCategoryInput)
  })
_sym_db.RegisterMessage(DescribeCategoryInput)

DescribeCategoryOutput = _reflection.GeneratedProtocolMessageType('DescribeCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBECATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeCategoryOutput)
  })
_sym_db.RegisterMessage(DescribeCategoryOutput)

AssignCategoryInput = _reflection.GeneratedProtocolMessageType('AssignCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _ASSIGNCATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.AssignCategoryInput)
  })
_sym_db.RegisterMessage(AssignCategoryInput)

AssignCategoryOutput = _reflection.GeneratedProtocolMessageType('AssignCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _ASSIGNCATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.AssignCategoryOutput)
  })
_sym_db.RegisterMessage(AssignCategoryOutput)

UnassignCategoryInput = _reflection.GeneratedProtocolMessageType('UnassignCategoryInput', (_message.Message,), {
  'DESCRIPTOR' : _UNASSIGNCATEGORYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UnassignCategoryInput)
  })
_sym_db.RegisterMessage(UnassignCategoryInput)

UnassignCategoryOutput = _reflection.GeneratedProtocolMessageType('UnassignCategoryOutput', (_message.Message,), {
  'DESCRIPTOR' : _UNASSIGNCATEGORYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UnassignCategoryOutput)
  })
_sym_db.RegisterMessage(UnassignCategoryOutput)

CreateSubmissionInput = _reflection.GeneratedProtocolMessageType('CreateSubmissionInput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESUBMISSIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateSubmissionInput)
  })
_sym_db.RegisterMessage(CreateSubmissionInput)

CreateSubmissionOutput = _reflection.GeneratedProtocolMessageType('CreateSubmissionOutput', (_message.Message,), {
  'DESCRIPTOR' : _CREATESUBMISSIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.CreateSubmissionOutput)
  })
_sym_db.RegisterMessage(CreateSubmissionOutput)

DescribeSubmissionInput = _reflection.GeneratedProtocolMessageType('DescribeSubmissionInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESUBMISSIONINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeSubmissionInput)
  })
_sym_db.RegisterMessage(DescribeSubmissionInput)

DescribeSubmissionOutput = _reflection.GeneratedProtocolMessageType('DescribeSubmissionOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESUBMISSIONOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeSubmissionOutput)
  })
_sym_db.RegisterMessage(DescribeSubmissionOutput)

DescribeScoreInput = _reflection.GeneratedProtocolMessageType('DescribeScoreInput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESCOREINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeScoreInput)
  })
_sym_db.RegisterMessage(DescribeScoreInput)

DescribeScoreOutput = _reflection.GeneratedProtocolMessageType('DescribeScoreOutput', (_message.Message,), {
  'DESCRIPTOR' : _DESCRIBESCOREOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.DescribeScoreOutput)
  })
_sym_db.RegisterMessage(DescribeScoreOutput)

UpdateVisibilityInput = _reflection.GeneratedProtocolMessageType('UpdateVisibilityInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEVISIBILITYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateVisibilityInput)
  })
_sym_db.RegisterMessage(UpdateVisibilityInput)

UpdateVisibilityOutput = _reflection.GeneratedProtocolMessageType('UpdateVisibilityOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEVISIBILITYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdateVisibilityOutput)
  })
_sym_db.RegisterMessage(UpdateVisibilityOutput)

UpdatePrivacyInput = _reflection.GeneratedProtocolMessageType('UpdatePrivacyInput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEPRIVACYINPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdatePrivacyInput)
  })
_sym_db.RegisterMessage(UpdatePrivacyInput)

UpdatePrivacyOutput = _reflection.GeneratedProtocolMessageType('UpdatePrivacyOutput', (_message.Message,), {
  'DESCRIPTOR' : _UPDATEPRIVACYOUTPUT,
  '__module__' : 'eolymp.atlas.atlas_pb2'
  # @@protoc_insertion_point(class_scope:eolymp.atlas.UpdatePrivacyOutput)
  })
_sym_db.RegisterMessage(UpdatePrivacyOutput)


DESCRIPTOR._options = None

_ATLAS = _descriptor.ServiceDescriptor(
  name='Atlas',
  full_name='eolymp.atlas.Atlas',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=7800,
  serialized_end=17924,
  methods=[
  _descriptor.MethodDescriptor(
    name='CreateProblem',
    full_name='eolymp.atlas.Atlas.CreateProblem',
    index=0,
    containing_service=None,
    input_type=_CREATEPROBLEMINPUT,
    output_type=_CREATEPROBLEMOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002\033\"\020/atlas/problems/:\007problem',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteProblem',
    full_name='eolymp.atlas.Atlas.DeleteProblem',
    index=1,
    containing_service=None,
    input_type=_DELETEPROBLEMINPUT,
    output_type=_DELETEPROBLEMOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002\036*\034/atlas/problems/{problem_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListProblems',
    full_name='eolymp.atlas.Atlas.ListProblems',
    index=2,
    containing_service=None,
    input_type=_LISTPROBLEMSINPUT,
    output_type=_LISTPROBLEMSOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\022\022\020/atlas/problems/',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeProblem',
    full_name='eolymp.atlas.Atlas.DescribeProblem',
    index=3,
    containing_service=None,
    input_type=_DESCRIBEPROBLEMINPUT,
    output_type=_DESCRIBEPROBLEMOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\'\022\034/atlas/problems/{problem_id}b\007problem',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateVisibility',
    full_name='eolymp.atlas.Atlas.UpdateVisibility',
    index=4,
    containing_service=None,
    input_type=_UPDATEVISIBILITYINPUT,
    output_type=_UPDATEVISIBILITYOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002)\"\'/atlas/problems/{problem_id}/visibility',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdatePrivacy',
    full_name='eolymp.atlas.Atlas.UpdatePrivacy',
    index=5,
    containing_service=None,
    input_type=_UPDATEPRIVACYINPUT,
    output_type=_UPDATEPRIVACYOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002&\"$/atlas/problems/{problem_id}/privacy',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListExamples',
    full_name='eolymp.atlas.Atlas.ListExamples',
    index=6,
    containing_service=None,
    input_type=_LISTEXAMPLESINPUT,
    output_type=_LISTEXAMPLESOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002(\022&/atlas/problems/{problem_id}/examples/',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateVerifier',
    full_name='eolymp.atlas.Atlas.UpdateVerifier',
    index=7,
    containing_service=None,
    input_type=_UPDATEVERIFIERINPUT,
    output_type=_UPDATEVERIFIEROUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\0021\032%/atlas/problems/{problem_id}/verifier:\010verifier',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeVerifier',
    full_name='eolymp.atlas.Atlas.DescribeVerifier',
    index=8,
    containing_service=None,
    input_type=_DESCRIBEVERIFIERINPUT,
    output_type=_DESCRIBEVERIFIEROUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\000@\370\342\n\n\202\323\344\223\0021\022%/atlas/problems/{problem_id}/verifierb\010verifier',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateInteractor',
    full_name='eolymp.atlas.Atlas.UpdateInteractor',
    index=9,
    containing_service=None,
    input_type=_UPDATEINTERACTORINPUT,
    output_type=_UPDATEINTERACTOROUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\0025\032\'/atlas/problems/{problem_id}/interactor:\ninteractor',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeInteractor',
    full_name='eolymp.atlas.Atlas.DescribeInteractor',
    index=10,
    containing_service=None,
    input_type=_DESCRIBEINTERACTORINPUT,
    output_type=_DESCRIBEINTERACTOROUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\000@\370\342\n\n\202\323\344\223\0025\022\'/atlas/problems/{problem_id}/interactorb\ninteractor',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateStatement',
    full_name='eolymp.atlas.Atlas.CreateStatement',
    index=11,
    containing_service=None,
    input_type=_CREATESTATEMENTINPUT,
    output_type=_CREATESTATEMENTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\323\344\223\0025\032(/atlas/problems/{problem_id}/statements/:\tstatement',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateStatement',
    full_name='eolymp.atlas.Atlas.UpdateStatement',
    index=12,
    containing_service=None,
    input_type=_UPDATESTATEMENTINPUT,
    output_type=_UPDATESTATEMENTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\323\344\223\002-\032 /atlas/statements/{statement_id}:\tstatement',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteStatement',
    full_name='eolymp.atlas.Atlas.DeleteStatement',
    index=13,
    containing_service=None,
    input_type=_DELETESTATEMENTINPUT,
    output_type=_DELETESTATEMENTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\323\344\223\002\"* /atlas/statements/{statement_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListStatements',
    full_name='eolymp.atlas.Atlas.ListStatements',
    index=14,
    containing_service=None,
    input_type=_LISTSTATEMENTSINPUT,
    output_type=_LISTSTATEMENTSOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002*\022(/atlas/problems/{problem_id}/statements/',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeStatement',
    full_name='eolymp.atlas.Atlas.DescribeStatement',
    index=15,
    containing_service=None,
    input_type=_DESCRIBESTATEMENTINPUT,
    output_type=_DESCRIBESTATEMENTOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002-\022 /atlas/statements/{statement_id}b\tstatement',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateTestset',
    full_name='eolymp.atlas.Atlas.CreateTestset',
    index=16,
    containing_service=None,
    input_type=_CREATETESTSETINPUT,
    output_type=_CREATETESTSETOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\240@\370\342\n2\202\323\344\223\0021\"&/atlas/problems/{problem_id}/testsets/:\007testset',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateTestset',
    full_name='eolymp.atlas.Atlas.UpdateTestset',
    index=17,
    containing_service=None,
    input_type=_UPDATETESTSETINPUT,
    output_type=_UPDATETESTSETOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\240@\370\342\n2\202\323\344\223\002\'\032\034/atlas/testsets/{testset_id}:\007testset',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteTestset',
    full_name='eolymp.atlas.Atlas.DeleteTestset',
    index=18,
    containing_service=None,
    input_type=_DELETETESTSETINPUT,
    output_type=_DELETETESTSETOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\240@\370\342\n2\202\323\344\223\002\036*\034/atlas/testsets/{testset_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListTestsets',
    full_name='eolymp.atlas.Atlas.ListTestsets',
    index=19,
    containing_service=None,
    input_type=_LISTTESTSETSINPUT,
    output_type=_LISTTESTSETSOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000 A\370\342\n2\202\323\344\223\002(\022&/atlas/problems/{problem_id}/testsets/',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeTestset',
    full_name='eolymp.atlas.Atlas.DescribeTestset',
    index=20,
    containing_service=None,
    input_type=_DESCRIBETESTSETINPUT,
    output_type=_DESCRIBETESTSETOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000 A\370\342\n2\202\323\344\223\002\'\022\034/atlas/testsets/{testset_id}b\007testset',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateTest',
    full_name='eolymp.atlas.Atlas.CreateTest',
    index=21,
    containing_service=None,
    input_type=_CREATETESTINPUT,
    output_type=_CREATETESTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\014\365\342\n\000\000 A\370\342\n\310\001\202\323\344\223\002*\"\"/atlas/testsets/{testset_id}/tests:\004test',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateTest',
    full_name='eolymp.atlas.Atlas.UpdateTest',
    index=22,
    containing_service=None,
    input_type=_UPDATETESTINPUT,
    output_type=_UPDATETESTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\014\365\342\n\000\000 A\370\342\n\310\001\202\323\344\223\002\036\032\026/atlas/tests/{test_id}:\004test',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteTest',
    full_name='eolymp.atlas.Atlas.DeleteTest',
    index=23,
    containing_service=None,
    input_type=_DELETETESTINPUT,
    output_type=_DELETETESTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\014\365\342\n\000\000 A\370\342\n\310\001\202\323\344\223\002\030*\026/atlas/tests/{test_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListTests',
    full_name='eolymp.atlas.Atlas.ListTests',
    index=24,
    containing_service=None,
    input_type=_LISTTESTSINPUT,
    output_type=_LISTTESTSOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000 A\370\342\n2\202\323\344\223\002$\022\"/atlas/testsets/{testset_id}/tests',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeTest',
    full_name='eolymp.atlas.Atlas.DescribeTest',
    index=25,
    containing_service=None,
    input_type=_DESCRIBETESTINPUT,
    output_type=_DESCRIBETESTOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000 A\370\342\n2\202\323\344\223\002\036\022\026/atlas/tests/{test_id}b\004test',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GrantPermission',
    full_name='eolymp.atlas.Atlas.GrantPermission',
    index=26,
    containing_service=None,
    input_type=_GRANTPERMISSIONINPUT,
    output_type=_GRANTPERMISSIONOUTPUT,
    serialized_options=b'\202\343\n\032\212\343\n\026atlas:permission:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\0026\"(/atlas/problems/{problem_id}/permissions:\npermission',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RevokePermission',
    full_name='eolymp.atlas.Atlas.RevokePermission',
    index=27,
    containing_service=None,
    input_type=_REVOKEPERMISSIONINPUT,
    output_type=_REVOKEPERMISSIONOUTPUT,
    serialized_options=b'\202\343\n\032\212\343\n\026atlas:permission:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\0024*2/atlas/problems/{problem_id}/permissions/{user_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListPermissions',
    full_name='eolymp.atlas.Atlas.ListPermissions',
    index=28,
    containing_service=None,
    input_type=_LISTPERMISSIONSINPUT,
    output_type=_LISTPERMISSIONSOUTPUT,
    serialized_options=b'\202\343\n\031\212\343\n\025atlas:permission:read\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002*\022(/atlas/problems/{problem_id}/permissions',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateCodeTemplate',
    full_name='eolymp.atlas.Atlas.CreateCodeTemplate',
    index=29,
    containing_service=None,
    input_type=_CREATECODETEMPLATEINPUT,
    output_type=_CREATECODETEMPLATEOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\0022\"&/atlas/problems/{problem_id}/templates:\010template',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateCodeTemplate',
    full_name='eolymp.atlas.Atlas.UpdateCodeTemplate',
    index=30,
    containing_service=None,
    input_type=_UPDATECODETEMPLATEINPUT,
    output_type=_UPDATECODETEMPLATEOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002*\"\036/atlas/templates/{template_id}:\010template',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteCodeTemplate',
    full_name='eolymp.atlas.Atlas.DeleteCodeTemplate',
    index=31,
    containing_service=None,
    input_type=_DELETECODETEMPLATEINPUT,
    output_type=_DELETECODETEMPLATEOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002 *\036/atlas/templates/{template_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListCodeTemplates',
    full_name='eolymp.atlas.Atlas.ListCodeTemplates',
    index=32,
    containing_service=None,
    input_type=_LISTCODETEMPLATESINPUT,
    output_type=_LISTCODETEMPLATESOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002)\022\'/atlas/problems/{problems_id}/templates',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeCodeTemplate',
    full_name='eolymp.atlas.Atlas.DescribeCodeTemplate',
    index=33,
    containing_service=None,
    input_type=_DESCRIBECODETEMPLATEINPUT,
    output_type=_DESCRIBECODETEMPLATEOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002*\022\036/atlas/templates/{template_id}b\010template',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeChange',
    full_name='eolymp.atlas.Atlas.DescribeChange',
    index=34,
    containing_service=None,
    input_type=_DESCRIBECHANGEINPUT,
    output_type=_DESCRIBECHANGEOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\202\323\344\223\002\034\022\032/atlas/changes/{change_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListChanges',
    full_name='eolymp.atlas.Atlas.ListChanges',
    index=35,
    containing_service=None,
    input_type=_LISTCHANGESINPUT,
    output_type=_LISTCHANGESOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\202\323\344\223\002&\022$/atlas/problems/{problem_id}/changes',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListProblemTop',
    full_name='eolymp.atlas.Atlas.ListProblemTop',
    index=36,
    containing_service=None,
    input_type=_LISTPROBLEMTOPINPUT,
    output_type=_LISTPROBLEMTOPOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\202\323\344\223\002\"\022 /atlas/problems/{problem_id}/top',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeProblemGrading',
    full_name='eolymp.atlas.Atlas.DescribeProblemGrading',
    index=37,
    containing_service=None,
    input_type=_DESCRIBEPROBLEMGRADINGINPUT,
    output_type=_DESCRIBEPROBLEMGRADINGOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\202\323\344\223\002&\022$/atlas/problems/{problem_id}/grading',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateSolution',
    full_name='eolymp.atlas.Atlas.CreateSolution',
    index=38,
    containing_service=None,
    input_type=_CREATESOLUTIONINPUT,
    output_type=_CREATESOLUTIONOUTPUT,
    serialized_options=b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\323\344\223\0022\"&/atlas/problems/{problem_id}/solutions:\010solution',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateSolution',
    full_name='eolymp.atlas.Atlas.UpdateSolution',
    index=39,
    containing_service=None,
    input_type=_UPDATESOLUTIONINPUT,
    output_type=_UPDATESOLUTIONOUTPUT,
    serialized_options=b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002*\"\036/atlas/solutions/{solution_id}:\010solution',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteSolution',
    full_name='eolymp.atlas.Atlas.DeleteSolution',
    index=40,
    containing_service=None,
    input_type=_DELETESOLUTIONINPUT,
    output_type=_DELETESOLUTIONOUTPUT,
    serialized_options=b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002 *\036/atlas/solutions/{solution_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListSolutions',
    full_name='eolymp.atlas.Atlas.ListSolutions',
    index=41,
    containing_service=None,
    input_type=_LISTSOLUTIONSINPUT,
    output_type=_LISTSOLUTIONSOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\022\022\020/atlas/solutions',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeSolution',
    full_name='eolymp.atlas.Atlas.DescribeSolution',
    index=42,
    containing_service=None,
    input_type=_DESCRIBESOLUTIONINPUT,
    output_type=_DESCRIBESOLUTIONOUTPUT,
    serialized_options=b'\202\343\n\026\212\343\n\022atlas:problem:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002*\022\036/atlas/solutions/{solution_id}b\010solution',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='PublishSolution',
    full_name='eolymp.atlas.Atlas.PublishSolution',
    index=43,
    containing_service=None,
    input_type=_PUBLISHSOLUTIONINPUT,
    output_type=_PUBLISHSOLUTIONOUTPUT,
    serialized_options=b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002(\"&/atlas/solutions/{solution_id}/publish',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UnpublishSolution',
    full_name='eolymp.atlas.Atlas.UnpublishSolution',
    index=44,
    containing_service=None,
    input_type=_UNPUBLISHSOLUTIONINPUT,
    output_type=_UNPUBLISHSOLUTIONOUTPUT,
    serialized_options=b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002*\"(/atlas/solutions/{solution_id}/unpublish',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ApproveSolution',
    full_name='eolymp.atlas.Atlas.ApproveSolution',
    index=45,
    containing_service=None,
    input_type=_APPROVESOLUTIONINPUT,
    output_type=_APPROVESOLUTIONOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002(\"&/atlas/solutions/{solution_id}/approve',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RefuseSolution',
    full_name='eolymp.atlas.Atlas.RefuseSolution',
    index=46,
    containing_service=None,
    input_type=_REFUSESOLUTIONINPUT,
    output_type=_REFUSESOLUTIONOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:problem:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\024\202\323\344\223\002\'\"%/atlas/solutions/{solution_id}/refuse',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateCategory',
    full_name='eolymp.atlas.Atlas.CreateCategory',
    index=47,
    containing_service=None,
    input_type=_CREATECATEGORYINPUT,
    output_type=_CREATECATEGORYOUTPUT,
    serialized_options=b'\202\343\n\030\212\343\n\024atlas:category:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002\036\"\022/atlas/categories/:\010category',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UpdateCategory',
    full_name='eolymp.atlas.Atlas.UpdateCategory',
    index=48,
    containing_service=None,
    input_type=_UPDATECATEGORYINPUT,
    output_type=_UPDATECATEGORYOUTPUT,
    serialized_options=b'\202\343\n\030\212\343\n\024atlas:category:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002!\"\037/atlas/categories/{category_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DeleteCategory',
    full_name='eolymp.atlas.Atlas.DeleteCategory',
    index=49,
    containing_service=None,
    input_type=_DELETECATEGORYINPUT,
    output_type=_DELETECATEGORYOUTPUT,
    serialized_options=b'\202\343\n\030\212\343\n\024atlas:category:write\352\342\n\013\365\342\n\n\327#>\370\342\n\005\202\323\344\223\002!*\037/atlas/categories/{category_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ListCategories',
    full_name='eolymp.atlas.Atlas.ListCategories',
    index=50,
    containing_service=None,
    input_type=_LISTCATEGORIESINPUT,
    output_type=_LISTCATEGORIESOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:category:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\024\022\022/atlas/categories/',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeCategory',
    full_name='eolymp.atlas.Atlas.DescribeCategory',
    index=51,
    containing_service=None,
    input_type=_DESCRIBECATEGORYINPUT,
    output_type=_DESCRIBECATEGORYOUTPUT,
    serialized_options=b'\202\343\n\027\212\343\n\023atlas:category:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002+\022\037/atlas/categories/{category_id}b\010category',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='AssignCategory',
    full_name='eolymp.atlas.Atlas.AssignCategory',
    index=52,
    containing_service=None,
    input_type=_ASSIGNCATEGORYINPUT,
    output_type=_ASSIGNCATEGORYOUTPUT,
    serialized_options=b'\202\343\n\030\212\343\n\024atlas:category:write\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\323\344\223\0027\"5/atlas/categories/{category_id}/problems/{problem_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='UnassignCategory',
    full_name='eolymp.atlas.Atlas.UnassignCategory',
    index=53,
    containing_service=None,
    input_type=_UNASSIGNCATEGORYINPUT,
    output_type=_UNASSIGNCATEGORYOUTPUT,
    serialized_options=b'\202\343\n\030\212\343\n\024atlas:category:write\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\323\344\223\0027*5/atlas/categories/{category_id}/problems/{problem_id}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateSubmission',
    full_name='eolymp.atlas.Atlas.CreateSubmission',
    index=54,
    containing_service=None,
    input_type=_CREATESUBMISSIONINPUT,
    output_type=_CREATESUBMISSIONOUTPUT,
    serialized_options=b'\202\343\n\032\212\343\n\026atlas:submission:write\202\323\344\223\002-\"(/atlas/problems/{problem_id}/submissions:\001*',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeSubmission',
    full_name='eolymp.atlas.Atlas.DescribeSubmission',
    index=55,
    containing_service=None,
    input_type=_DESCRIBESUBMISSIONINPUT,
    output_type=_DESCRIBESUBMISSIONOUTPUT,
    serialized_options=b'\202\343\n\031\212\343\n\025atlas:submission:read\202\323\344\223\0020\022\"/atlas/submissions/{submission_id}b\nsubmission',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='DescribeScore',
    full_name='eolymp.atlas.Atlas.DescribeScore',
    index=56,
    containing_service=None,
    input_type=_DESCRIBESCOREINPUT,
    output_type=_DESCRIBESCOREOUTPUT,
    serialized_options=b'\202\343\n\031\212\343\n\025atlas:submission:read\202\323\344\223\0026\022-/atlas/problems/{problem_id}/scores/{user_id}b\005score',
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_ATLAS)

DESCRIPTOR.services_by_name['Atlas'] = _ATLAS

# @@protoc_insertion_point(module_scope)
