{
  "options": {
    "cc_generic_services": false,
    "optimize_for": "SPEED",
    "(force_php_generation)": true
  },
  "nested": {
    "CTwoFactor_Time_Request": {
      "fields": {
        "sender_time": {
          "type": "uint64",
          "id": 1,
          "options": {
            "(description)": "Current time on the sender (for stats, don't trust this)"
          }
        }
      }
    },
    "CTwoFactor_Time_Response": {
      "fields": {
        "server_time": {
          "type": "uint64",
          "id": 1,
          "options": {
            "(description)": "Current server time"
          }
        },
        "skew_tolerance_seconds": {
          "type": "uint64",
          "id": 2,
          "options": {
            "(description)": "Time skew we'll tolerate before applying an adjustment"
          }
        },
        "large_time_jink": {
          "type": "uint64",
          "id": 3,
          "options": {
            "(description)": "Re-sync if local time jitters by this much"
          }
        },
        "probe_frequency_seconds": {
          "type": "uint32",
          "id": 4,
          "options": {
            "(description)": "Time probe frequency if phone time is synchronized"
          }
        },
        "adjusted_time_probe_frequency_seconds": {
          "type": "uint32",
          "id": 5,
          "options": {
            "(description)": "Time probe frequency if phone time is not synchronized"
          }
        },
        "hint_probe_frequency_seconds": {
          "type": "uint32",
          "id": 6,
          "options": {
            "(description)": "Floor of probe frequency, no matter what"
          }
        },
        "sync_timeout": {
          "type": "uint32",
          "id": 7,
          "options": {
            "(description)": "More than this, and we call the current sync failed"
          }
        },
        "try_again_seconds": {
          "type": "uint32",
          "id": 8,
          "options": {
            "(description)": "Seconds to try again after a failed sync"
          }
        },
        "max_attempts": {
          "type": "uint32",
          "id": 9,
          "options": {
            "(description)": "# times we'll ask for server time before we bail"
          }
        }
      }
    },
    "CTwoFactor_Status_Request": {
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1,
          "options": {
            "(description)": "steamid to use"
          }
        }
      }
    },
    "CTwoFactor_Status_Response": {
      "fields": {
        "state": {
          "type": "uint32",
          "id": 1,
          "options": {
            "(description)": "Authenticator state"
          }
        },
        "inactivation_reason": {
          "type": "uint32",
          "id": 2,
          "options": {
            "(description)": "Inactivation reason (if any)"
          }
        },
        "authenticator_type": {
          "type": "uint32",
          "id": 3,
          "options": {
            "(description)": "Type of authenticator"
          }
        },
        "authenticator_allowed": {
          "type": "bool",
          "id": 4,
          "options": {
            "(description)": "Account allowed to have an authenticator?"
          }
        },
        "steamguard_scheme": {
          "type": "uint32",
          "id": 5,
          "options": {
            "(description)": "Steam Guard scheme in effect"
          }
        },
        "token_gid": {
          "type": "string",
          "id": 6,
          "options": {
            "(description)": "String rep of token GID assigned by server"
          }
        },
        "email_validated": {
          "type": "bool",
          "id": 7,
          "options": {
            "(description)": "Account has verified email capability"
          }
        },
        "device_identifier": {
          "type": "string",
          "id": 8,
          "options": {
            "(description)": "Authenticator (phone) identifier"
          }
        },
        "time_created": {
          "type": "uint32",
          "id": 9,
          "options": {
            "(description)": "When the token was created"
          }
        },
        "revocation_attempts_remaining": {
          "type": "uint32",
          "id": 10,
          "options": {
            "(description)": "Number of revocation code attempts remaining"
          }
        },
        "classified_agent": {
          "type": "string",
          "id": 11,
          "options": {
            "(description)": "Agent that added the authenticator (e.g., ios / android / other)"
          }
        },
        "allow_external_authenticator": {
          "type": "bool",
          "id": 12,
          "options": {
            "(description)": "Allow a third-party authenticator (in addition to two-factor)"
          }
        },
        "time_transferred": {
          "type": "uint32",
          "id": 13,
          "options": {
            "(description)": "When the token was transferred from another device, if applicable"
          }
        },
        "version": {
          "type": "uint32",
          "id": 14,
          "options": {
            "(description)": "Current token version"
          }
        }
      }
    },
    "CTwoFactor_AddAuthenticator_Request": {
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1,
          "options": {
            "(description)": "steamid to use"
          }
        },
        "authenticator_time": {
          "type": "uint64",
          "id": 2,
          "options": {
            "(description)": "Current authenticator time"
          }
        },
        "serial_number": {
          "type": "fixed64",
          "id": 3,
          "options": {
            "(description)": "locally computed serial (deprecated)"
          }
        },
        "authenticator_type": {
          "type": "uint32",
          "id": 4,
          "options": {
            "(description)": "Authenticator type"
          }
        },
        "device_identifier": {
          "type": "string",
          "id": 5,
          "options": {
            "(description)": "Authenticator identifier"
          }
        },
        "sms_phone_id": {
          "type": "string",
          "id": 6,
          "options": {
            "(description)": "ID of phone to use for SMS verification"
          }
        },
        "http_headers": {
          "rule": "repeated",
          "type": "string",
          "id": 7,
          "options": {
            "(description)": "HTTP headers alternating by K/V"
          }
        },
        "version": {
          "type": "uint32",
          "id": 8,
          "options": {
            "default": 1,
            "(description)": "What the version of our token should be"
          }
        }
      }
    },
    "CTwoFactor_AddAuthenticator_Response": {
      "fields": {
        "shared_secret": {
          "type": "bytes",
          "id": 1,
          "options": {
            "(description)": "Shared secret between server and authenticator"
          }
        },
        "serial_number": {
          "type": "fixed64",
          "id": 2,
          "options": {
            "(description)": "Authenticator serial number (unique per token)"
          }
        },
        "revocation_code": {
          "type": "string",
          "id": 3,
          "options": {
            "(description)": "code used to revoke authenticator"
          }
        },
        "uri": {
          "type": "string",
          "id": 4,
          "options": {
            "(description)": "URI for QR code generation"
          }
        },
        "server_time": {
          "type": "uint64",
          "id": 5,
          "options": {
            "(description)": "Current server time"
          }
        },
        "account_name": {
          "type": "string",
          "id": 6,
          "options": {
            "(description)": "Account name to display on token client"
          }
        },
        "token_gid": {
          "type": "string",
          "id": 7,
          "options": {
            "(description)": "Token GID assigned by server"
          }
        },
        "identity_secret": {
          "type": "bytes",
          "id": 8,
          "options": {
            "(description)": "Secret used for identity attestation (e.g., for eventing)"
          }
        },
        "secret_1": {
          "type": "bytes",
          "id": 9,
          "options": {
            "(description)": "Spare shared secret"
          }
        },
        "status": {
          "type": "int32",
          "id": 10,
          "options": {
            "(description)": "Result code"
          }
        },
        "phone_number_hint": {
          "type": "string",
          "id": 11,
          "options": {
            "(description)": "a portion of the phone number the SMS code was sent to"
          }
        }
      }
    },
    "CTwoFactor_SendEmail_Request": {
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1,
          "options": {
            "(description)": "Steamid to use"
          }
        },
        "email_type": {
          "type": "uint32",
          "id": 2,
          "options": {
            "(description)": "Type of email to send (ETwoFactorEmailType::*)"
          }
        },
        "include_activation_code": {
          "type": "bool",
          "id": 3,
          "options": {
            "(description)": "Include activation code in email parameters"
          }
        }
      }
    },
    "CTwoFactor_SendEmail_Response": {
      "fields": {}
    },
    "CTwoFactor_FinalizeAddAuthenticator_Request": {
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1,
          "options": {
            "(description)": "steamid to use"
          }
        },
        "authenticator_code": {
          "type": "string",
          "id": 2,
          "options": {
            "(description)": "Current auth code"
          }
        },
        "authenticator_time": {
          "type": "uint64",
          "id": 3,
          "options": {
            "(description)": "Current authenticator time"
          }
        },
        "activation_code": {
          "type": "string",
          "id": 4,
          "options": {
            "(description)": "Activation code from out-of-band message"
          }
        },
        "http_headers": {
          "rule": "repeated",
          "type": "string",
          "id": 5,
          "options": {
            "(description)": "HTTP headers alternating by K/V"
          }
        },
        "validate_sms_code": {
          "type": "bool",
          "id": 6,
          "options": {
            "(description)": "When finalizing with an SMS code, pass the request on to the PhoneService to update its state too."
          }
        }
      }
    },
    "CTwoFactor_FinalizeAddAuthenticator_Response": {
      "fields": {
        "success": {
          "type": "bool",
          "id": 1,
          "options": {
            "(description)": "True if succeeded, or want more tries"
          }
        },
        "want_more": {
          "type": "bool",
          "id": 2,
          "options": {
            "(description)": "True if want more tries"
          }
        },
        "server_time": {
          "type": "uint64",
          "id": 3,
          "options": {
            "(description)": "Current server time"
          }
        },
        "status": {
          "type": "int32",
          "id": 4,
          "options": {
            "(description)": "Result code"
          }
        }
      }
    },
    "CTwoFactor_UpdateTokenVersion_Request": {
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1
        },
        "version": {
          "type": "uint32",
          "id": 2,
          "options": {
            "(description)": "What the version of our token should be"
          }
        },
        "signature": {
          "type": "bytes",
          "id": 3,
          "options": {
            "(description)": "HMAC digest over user's private key"
          }
        }
      }
    },
    "CTwoFactor_UpdateTokenVersion_Response": {
      "fields": {}
    },
    "CTwoFactor_RemoveAuthenticator_Request": {
      "fields": {
        "revocation_code": {
          "type": "string",
          "id": 2,
          "options": {
            "(description)": "Password needed to remove token"
          }
        },
        "revocation_reason": {
          "type": "uint32",
          "id": 5,
          "options": {
            "(description)": "Reason the authenticator is being removed"
          }
        },
        "steamguard_scheme": {
          "type": "uint32",
          "id": 6,
          "options": {
            "(description)": "Type of Steam Guard to use once token is removed"
          }
        },
        "remove_all_steamguard_cookies": {
          "type": "bool",
          "id": 7,
          "options": {
            "(description)": "Remove all steamguard cookies"
          }
        }
      }
    },
    "CTwoFactor_RemoveAuthenticator_Response": {
      "fields": {
        "success": {
          "type": "bool",
          "id": 1,
          "options": {
            "(description)": "True if request succeeeded. The mobile app checks this."
          }
        },
        "server_time": {
          "type": "uint64",
          "id": 3,
          "options": {
            "(description)": "Current server time"
          }
        },
        "revocation_attempts_remaining": {
          "type": "uint32",
          "id": 5,
          "options": {
            "(description)": "Number of revocation code attempts remaining"
          }
        }
      }
    },
    "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request": {
      "fields": {}
    },
    "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response": {
      "fields": {
        "success": {
          "type": "bool",
          "id": 1,
          "options": {
            "(description)": "True if succeeded, or want more tries with an authenticator_code"
          }
        }
      }
    },
    "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request": {
      "fields": {
        "sms_code": {
          "type": "string",
          "id": 1,
          "options": {
            "(description)": "Code from SMS"
          }
        },
        "generate_new_token": {
          "type": "bool",
          "id": 2,
          "options": {
            "(description)": "Generate new token (instead of removing old one)"
          }
        },
        "version": {
          "type": "uint32",
          "id": 3,
          "options": {
            "default": 1,
            "(description)": "What the version of our token should be"
          }
        }
      }
    },
    "CRemoveAuthenticatorViaChallengeContinue_Replacement_Token": {
      "fields": {
        "shared_secret": {
          "type": "bytes",
          "id": 1,
          "options": {
            "(description)": "Shared secret between server and authenticator"
          }
        },
        "serial_number": {
          "type": "fixed64",
          "id": 2,
          "options": {
            "(description)": "Authenticator serial number (unique per token)"
          }
        },
        "revocation_code": {
          "type": "string",
          "id": 3,
          "options": {
            "(description)": "code used to revoke authenticator"
          }
        },
        "uri": {
          "type": "string",
          "id": 4,
          "options": {
            "(description)": "URI for QR code generation"
          }
        },
        "server_time": {
          "type": "uint64",
          "id": 5,
          "options": {
            "(description)": "Current server time"
          }
        },
        "account_name": {
          "type": "string",
          "id": 6,
          "options": {
            "(description)": "Account name to display on token client"
          }
        },
        "token_gid": {
          "type": "string",
          "id": 7,
          "options": {
            "(description)": "Token GID assigned by server"
          }
        },
        "identity_secret": {
          "type": "bytes",
          "id": 8,
          "options": {
            "(description)": "Secret used for identity attestation (e.g., for eventing)"
          }
        },
        "secret_1": {
          "type": "bytes",
          "id": 9,
          "options": {
            "(description)": "Spare shared secret"
          }
        },
        "status": {
          "type": "int32",
          "id": 10,
          "options": {
            "(description)": "Result code"
          }
        },
        "steamguard_scheme": {
          "type": "uint32",
          "id": 11,
          "options": {
            "(description)": "Type of Steam Guard to use once token is removed"
          }
        },
        "steamid": {
          "type": "fixed64",
          "id": 12,
          "options": {
            "(description)": "steamid that owns the secret"
          }
        }
      }
    },
    "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response": {
      "fields": {
        "success": {
          "type": "bool",
          "id": 1,
          "options": {
            "(description)": "True if succeeded, or want more tries with an authenticator_code"
          }
        },
        "replacement_token": {
          "type": ".CRemoveAuthenticatorViaChallengeContinue_Replacement_Token",
          "id": 2,
          "options": {
            "(description)": "Fresh secret to install"
          }
        }
      }
    },
    "TwoFactor": {
      "options": {
        "(service_description)": "Two Factor Authentication Service"
      },
      "methods": {
        "QueryTime": {
          "requestType": ".CTwoFactor_Time_Request",
          "responseType": ".CTwoFactor_Time_Response",
          "options": {
            "(method_description)": "Get server's idea of the current time"
          },
          "parsedOptions": [
            {
              "(method_description)": "Get server's idea of the current time"
            }
          ]
        },
        "QueryStatus": {
          "requestType": ".CTwoFactor_Status_Request",
          "responseType": ".CTwoFactor_Status_Response",
          "options": {
            "(method_description)": "Get two-factor authentication settings for the logged-in account"
          },
          "parsedOptions": [
            {
              "(method_description)": "Get two-factor authentication settings for the logged-in account"
            }
          ]
        },
        "AddAuthenticator": {
          "requestType": ".CTwoFactor_AddAuthenticator_Request",
          "responseType": ".CTwoFactor_AddAuthenticator_Response",
          "options": {
            "(method_description)": "Add two-factor authenticator to the logged-in account"
          },
          "parsedOptions": [
            {
              "(method_description)": "Add two-factor authenticator to the logged-in account"
            }
          ]
        },
        "SendEmail": {
          "requestType": ".CTwoFactor_SendEmail_Request",
          "responseType": ".CTwoFactor_SendEmail_Response",
          "options": {
            "(method_description)": "Send email to the account"
          },
          "parsedOptions": [
            {
              "(method_description)": "Send email to the account"
            }
          ]
        },
        "FinalizeAddAuthenticator": {
          "requestType": ".CTwoFactor_FinalizeAddAuthenticator_Request",
          "responseType": ".CTwoFactor_FinalizeAddAuthenticator_Response",
          "options": {
            "(method_description)": "Finalize two-factor authentication addition to the logged-in account"
          },
          "parsedOptions": [
            {
              "(method_description)": "Finalize two-factor authentication addition to the logged-in account"
            }
          ]
        },
        "UpdateTokenVersion": {
          "requestType": ".CTwoFactor_UpdateTokenVersion_Request",
          "responseType": ".CTwoFactor_UpdateTokenVersion_Response",
          "options": {
            "(method_description)": "Update the version for my token"
          },
          "parsedOptions": [
            {
              "(method_description)": "Update the version for my token"
            }
          ]
        },
        "RemoveAuthenticator": {
          "requestType": ".CTwoFactor_RemoveAuthenticator_Request",
          "responseType": ".CTwoFactor_RemoveAuthenticator_Response",
          "options": {
            "(method_description)": "Remove two-factor authentication addition from the logged-in account"
          },
          "parsedOptions": [
            {
              "(method_description)": "Remove two-factor authentication addition from the logged-in account"
            }
          ]
        },
        "RemoveAuthenticatorViaChallengeStart": {
          "requestType": ".CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request",
          "responseType": ".CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response",
          "options": {
            "(method_description)": "Start challenge-based authenticator removal"
          },
          "parsedOptions": [
            {
              "(method_description)": "Start challenge-based authenticator removal"
            }
          ]
        },
        "RemoveAuthenticatorViaChallengeContinue": {
          "requestType": ".CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request",
          "responseType": ".CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response",
          "options": {
            "(method_description)": "Continue challenge-based authenticator removal"
          },
          "parsedOptions": [
            {
              "(method_description)": "Continue challenge-based authenticator removal"
            }
          ]
        }
      }
    },
    "msgpool_soft_limit": {
      "type": "int32",
      "id": 50000,
      "extend": ".google.protobuf.MessageOptions",
      "options": {
        "default": 32
      }
    },
    "msgpool_hard_limit": {
      "type": "int32",
      "id": 50001,
      "extend": ".google.protobuf.MessageOptions",
      "options": {
        "default": 384
      }
    },
    "force_php_generation": {
      "type": "bool",
      "id": 50000,
      "extend": ".google.protobuf.FileOptions",
      "options": {
        "default": false
      }
    },
    "php_output_always_number": {
      "type": "bool",
      "id": 50020,
      "extend": ".google.protobuf.FieldOptions",
      "options": {
        "default": false
      }
    },
    "allow_field_named_steam_id": {
      "type": "bool",
      "id": 50024,
      "extend": ".google.protobuf.FieldOptions",
      "options": {
        "default": false
      }
    },
    "EBanContentCheckResult": {
      "values": {
        "k_EBanContentCheckResult_NotScanned": 0,
        "k_EBanContentCheckResult_Reset": 1,
        "k_EBanContentCheckResult_NeedsChecking": 2,
        "k_EBanContentCheckResult_VeryUnlikely": 5,
        "k_EBanContentCheckResult_Unlikely": 30,
        "k_EBanContentCheckResult_Possible": 50,
        "k_EBanContentCheckResult_Likely": 75,
        "k_EBanContentCheckResult_VeryLikely": 100
      }
    },
    "EProtoClanEventType": {
      "values": {
        "k_EClanOtherEvent": 1,
        "k_EClanGameEvent": 2,
        "k_EClanPartyEvent": 3,
        "k_EClanMeetingEvent": 4,
        "k_EClanSpecialCauseEvent": 5,
        "k_EClanMusicAndArtsEvent": 6,
        "k_EClanSportsEvent": 7,
        "k_EClanTripEvent": 8,
        "k_EClanChatEvent": 9,
        "k_EClanGameReleaseEvent": 10,
        "k_EClanBroadcastEvent": 11,
        "k_EClanSmallUpdateEvent": 12,
        "k_EClanPreAnnounceMajorUpdateEvent": 13,
        "k_EClanMajorUpdateEvent": 14,
        "k_EClanDLCReleaseEvent": 15,
        "k_EClanFutureReleaseEvent": 16,
        "k_EClanESportTournamentStreamEvent": 17,
        "k_EClanDevStreamEvent": 18,
        "k_EClanFamousStreamEvent": 19,
        "k_EClanGameSalesEvent": 20,
        "k_EClanGameItemSalesEvent": 21,
        "k_EClanInGameBonusXPEvent": 22,
        "k_EClanInGameLootEvent": 23,
        "k_EClanInGamePerksEvent": 24,
        "k_EClanInGameChallengeEvent": 25,
        "k_EClanInGameContestEvent": 26,
        "k_EClanIRLEvent": 27,
        "k_EClanNewsEvent": 28,
        "k_EClanBetaReleaseEvent": 29,
        "k_EClanInGameContentReleaseEvent": 30,
        "k_EClanFreeTrial": 31,
        "k_EClanSeasonRelease": 32,
        "k_EClanSeasonUpdate": 33,
        "k_EClanCrosspostEvent": 34,
        "k_EClanInGameEventGeneral": 35
      }
    },
    "PartnerEventNotificationType": {
      "values": {
        "k_EEventStart": 0,
        "k_EEventBroadcastStart": 1,
        "k_EEventMatchStart": 2,
        "k_EEventPartnerMaxType": 3
      }
    },
    "CMsgIPAddress": {
      "oneofs": {
        "ip": {
          "oneof": [
            "v4",
            "v6"
          ]
        }
      },
      "fields": {
        "v4": {
          "type": "fixed32",
          "id": 1
        },
        "v6": {
          "type": "bytes",
          "id": 2
        }
      }
    },
    "CMsgIPAddressBucket": {
      "fields": {
        "original_ip_address": {
          "type": ".CMsgIPAddress",
          "id": 1
        },
        "bucket": {
          "type": "fixed64",
          "id": 2
        }
      }
    },
    "CMsgGCRoutingProtoBufHeader": {
      "fields": {
        "dst_gcid_queue": {
          "type": "uint64",
          "id": 1
        },
        "dst_gc_dir_index": {
          "type": "uint32",
          "id": 2
        }
      }
    },
    "CMsgProtoBufHeader": {
      "oneofs": {
        "ip_addr": {
          "oneof": [
            "ip",
            "ip_v6"
          ]
        }
      },
      "fields": {
        "steamid": {
          "type": "fixed64",
          "id": 1
        },
        "client_sessionid": {
          "type": "int32",
          "id": 2
        },
        "routing_appid": {
          "type": "uint32",
          "id": 3
        },
        "jobid_source": {
          "type": "fixed64",
          "id": 10,
          "options": {
            "default": 18446744073709552000
          }
        },
        "jobid_target": {
          "type": "fixed64",
          "id": 11,
          "options": {
            "default": 18446744073709552000
          }
        },
        "target_job_name": {
          "type": "string",
          "id": 12
        },
        "seq_num": {
          "type": "int32",
          "id": 24
        },
        "eresult": {
          "type": "int32",
          "id": 13,
          "options": {
            "default": 2
          }
        },
        "error_message": {
          "type": "string",
          "id": 14
        },
        "auth_account_flags": {
          "type": "uint32",
          "id": 16
        },
        "token_source": {
          "type": "uint32",
          "id": 22
        },
        "admin_spoofing_user": {
          "type": "bool",
          "id": 23
        },
        "transport_error": {
          "type": "int32",
          "id": 17,
          "options": {
            "default": 1
          }
        },
        "messageid": {
          "type": "uint64",
          "id": 18,
          "options": {
            "default": 18446744073709552000
          }
        },
        "publisher_group_id": {
          "type": "uint32",
          "id": 19
        },
        "sysid": {
          "type": "uint32",
          "id": 20
        },
        "trace_tag": {
          "type": "uint64",
          "id": 21
        },
        "webapi_key_id": {
          "type": "uint32",
          "id": 25
        },
        "is_from_external_source": {
          "type": "bool",
          "id": 26
        },
        "forward_to_sysid": {
          "rule": "repeated",
          "type": "uint32",
          "id": 27,
          "options": {
            "packed": false
          }
        },
        "cm_sysid": {
          "type": "uint32",
          "id": 28
        },
        "launcher_type": {
          "type": "uint32",
          "id": 31,
          "options": {
            "default": 0
          }
        },
        "realm": {
          "type": "uint32",
          "id": 32,
          "options": {
            "default": 0
          }
        },
        "timeout_ms": {
          "type": "int32",
          "id": 33,
          "options": {
            "default": -1
          }
        },
        "debug_source": {
          "type": "string",
          "id": 34
        },
        "debug_source_string_index": {
          "type": "uint32",
          "id": 35
        },
        "token_id": {
          "type": "uint64",
          "id": 36
        },
        "routing_gc": {
          "type": ".CMsgGCRoutingProtoBufHeader",
          "id": 37
        },
        "ip": {
          "type": "uint32",
          "id": 15
        },
        "ip_v6": {
          "type": "bytes",
          "id": 29
        }
      }
    },
    "CMsgMulti": {
      "fields": {
        "size_unzipped": {
          "type": "uint32",
          "id": 1
        },
        "message_body": {
          "type": "bytes",
          "id": 2
        }
      }
    },
    "CMsgProtobufWrapped": {
      "fields": {
        "message_body": {
          "type": "bytes",
          "id": 1
        }
      }
    },
    "CMsgAuthTicket": {
      "fields": {
        "estate": {
          "type": "uint32",
          "id": 1
        },
        "eresult": {
          "type": "uint32",
          "id": 2,
          "options": {
            "default": 2
          }
        },
        "steamid": {
          "type": "fixed64",
          "id": 3
        },
        "gameid": {
          "type": "fixed64",
          "id": 4
        },
        "h_steam_pipe": {
          "type": "uint32",
          "id": 5
        },
        "ticket_crc": {
          "type": "uint32",
          "id": 6
        },
        "ticket": {
          "type": "bytes",
          "id": 7
        },
        "server_secret": {
          "type": "bytes",
          "id": 8
        }
      }
    },
    "CCDDBAppDetailCommon": {
      "fields": {
        "appid": {
          "type": "uint32",
          "id": 1
        },
        "name": {
          "type": "string",
          "id": 2
        },
        "icon": {
          "type": "string",
          "id": 3
        },
        "tool": {
          "type": "bool",
          "id": 6
        },
        "demo": {
          "type": "bool",
          "id": 7
        },
        "media": {
          "type": "bool",
          "id": 8
        },
        "community_visible_stats": {
          "type": "bool",
          "id": 9
        },
        "friendly_name": {
          "type": "string",
          "id": 10
        },
        "propagation": {
          "type": "string",
          "id": 11
        },
        "has_adult_content": {
          "type": "bool",
          "id": 12
        },
        "is_visible_in_steam_china": {
          "type": "bool",
          "id": 13
        },
        "app_type": {
          "type": "uint32",
          "id": 14
        },
        "has_adult_content_sex": {
          "type": "bool",
          "id": 15
        },
        "has_adult_content_violence": {
          "type": "bool",
          "id": 16
        },
        "content_descriptorids": {
          "rule": "repeated",
          "type": "uint32",
          "id": 17,
          "options": {
            "packed": false
          }
        }
      }
    },
    "CMsgAppRights": {
      "fields": {
        "edit_info": {
          "type": "bool",
          "id": 1
        },
        "publish": {
          "type": "bool",
          "id": 2
        },
        "view_error_data": {
          "type": "bool",
          "id": 3
        },
        "download": {
          "type": "bool",
          "id": 4
        },
        "upload_cdkeys": {
          "type": "bool",
          "id": 5
        },
        "generate_cdkeys": {
          "type": "bool",
          "id": 6
        },
        "view_financials": {
          "type": "bool",
          "id": 7
        },
        "manage_ceg": {
          "type": "bool",
          "id": 8
        },
        "manage_signing": {
          "type": "bool",
          "id": 9
        },
        "manage_cdkeys": {
          "type": "bool",
          "id": 10
        },
        "edit_marketing": {
          "type": "bool",
          "id": 11
        },
        "economy_support": {
          "type": "bool",
          "id": 12
        },
        "economy_support_supervisor": {
          "type": "bool",
          "id": 13
        },
        "manage_pricing": {
          "type": "bool",
          "id": 14
        },
        "broadcast_live": {
          "type": "bool",
          "id": 15
        },
        "view_marketing_traffic": {
          "type": "bool",
          "id": 16
        },
        "edit_store_display_content": {
          "type": "bool",
          "id": 17
        }
      }
    },
    "CCuratorPreferences": {
      "fields": {
        "supported_languages": {
          "type": "uint32",
          "id": 1
        },
        "platform_windows": {
          "type": "bool",
          "id": 2
        },
        "platform_mac": {
          "type": "bool",
          "id": 3
        },
        "platform_linux": {
          "type": "bool",
          "id": 4
        },
        "vr_content": {
          "type": "bool",
          "id": 5
        },
        "adult_content_violence": {
          "type": "bool",
          "id": 6
        },
        "adult_content_sex": {
          "type": "bool",
          "id": 7
        },
        "timestamp_updated": {
          "type": "uint32",
          "id": 8
        },
        "tagids_curated": {
          "rule": "repeated",
          "type": "uint32",
          "id": 9,
          "options": {
            "packed": false
          }
        },
        "tagids_filtered": {
          "rule": "repeated",
          "type": "uint32",
          "id": 10,
          "options": {
            "packed": false
          }
        },
        "website_title": {
          "type": "string",
          "id": 11
        },
        "website_url": {
          "type": "string",
          "id": 12
        },
        "discussion_url": {
          "type": "string",
          "id": 13
        },
        "show_broadcast": {
          "type": "bool",
          "id": 14
        }
      }
    },
    "CLocalizationToken": {
      "fields": {
        "language": {
          "type": "uint32",
          "id": 1
        },
        "localized_string": {
          "type": "string",
          "id": 2
        }
      }
    },
    "CClanEventUserNewsTuple": {
      "fields": {
        "clanid": {
          "type": "uint32",
          "id": 1
        },
        "event_gid": {
          "type": "fixed64",
          "id": 2
        },
        "announcement_gid": {
          "type": "fixed64",
          "id": 3
        },
        "rtime_start": {
          "type": "uint32",
          "id": 4
        },
        "rtime_end": {
          "type": "uint32",
          "id": 5
        },
        "priority_score": {
          "type": "uint32",
          "id": 6
        },
        "type": {
          "type": "uint32",
          "id": 7
        },
        "clamp_range_slot": {
          "type": "uint32",
          "id": 8
        },
        "appid": {
          "type": "uint32",
          "id": 9
        },
        "rtime32_last_modified": {
          "type": "uint32",
          "id": 10
        }
      }
    },
    "CClanMatchEventByRange": {
      "fields": {
        "rtime_before": {
          "type": "uint32",
          "id": 1
        },
        "rtime_after": {
          "type": "uint32",
          "id": 2
        },
        "qualified": {
          "type": "uint32",
          "id": 3
        },
        "events": {
          "rule": "repeated",
          "type": ".CClanEventUserNewsTuple",
          "id": 4
        }
      }
    },
    "CCommunity_ClanAnnouncementInfo": {
      "fields": {
        "gid": {
          "type": "uint64",
          "id": 1
        },
        "clanid": {
          "type": "uint64",
          "id": 2
        },
        "posterid": {
          "type": "uint64",
          "id": 3
        },
        "headline": {
          "type": "string",
          "id": 4
        },
        "posttime": {
          "type": "uint32",
          "id": 5
        },
        "updatetime": {
          "type": "uint32",
          "id": 6
        },
        "body": {
          "type": "string",
          "id": 7
        },
        "commentcount": {
          "type": "int32",
          "id": 8
        },
        "tags": {
          "rule": "repeated",
          "type": "string",
          "id": 9
        },
        "language": {
          "type": "int32",
          "id": 10
        },
        "hidden": {
          "type": "bool",
          "id": 11
        },
        "forum_topic_id": {
          "type": "fixed64",
          "id": 12
        },
        "event_gid": {
          "type": "fixed64",
          "id": 13
        },
        "voteupcount": {
          "type": "int32",
          "id": 14
        },
        "votedowncount": {
          "type": "int32",
          "id": 15
        },
        "ban_check_result": {
          "type": ".EBanContentCheckResult",
          "id": 16,
          "options": {
            "default": "k_EBanContentCheckResult_NotScanned"
          }
        },
        "banned": {
          "type": "bool",
          "id": 17
        }
      }
    },
    "CClanEventData": {
      "fields": {
        "gid": {
          "type": "fixed64",
          "id": 1
        },
        "clan_steamid": {
          "type": "fixed64",
          "id": 2
        },
        "event_name": {
          "type": "string",
          "id": 3
        },
        "event_type": {
          "type": ".EProtoClanEventType",
          "id": 4,
          "options": {
            "default": "k_EClanOtherEvent"
          }
        },
        "appid": {
          "type": "uint32",
          "id": 5
        },
        "server_address": {
          "type": "string",
          "id": 6
        },
        "server_password": {
          "type": "string",
          "id": 7
        },
        "rtime32_start_time": {
          "type": "uint32",
          "id": 8
        },
        "rtime32_end_time": {
          "type": "uint32",
          "id": 9
        },
        "comment_count": {
          "type": "int32",
          "id": 10
        },
        "creator_steamid": {
          "type": "fixed64",
          "id": 11
        },
        "last_update_steamid": {
          "type": "fixed64",
          "id": 12
        },
        "event_notes": {
          "type": "string",
          "id": 13
        },
        "jsondata": {
          "type": "string",
          "id": 14
        },
        "announcement_body": {
          "type": ".CCommunity_ClanAnnouncementInfo",
          "id": 15
        },
        "published": {
          "type": "bool",
          "id": 16
        },
        "hidden": {
          "type": "bool",
          "id": 17
        },
        "rtime32_visibility_start": {
          "type": "uint32",
          "id": 18
        },
        "rtime32_visibility_end": {
          "type": "uint32",
          "id": 19
        },
        "broadcaster_accountid": {
          "type": "uint32",
          "id": 20
        },
        "follower_count": {
          "type": "uint32",
          "id": 21
        },
        "ignore_count": {
          "type": "uint32",
          "id": 22
        },
        "forum_topic_id": {
          "type": "fixed64",
          "id": 23
        },
        "rtime32_last_modified": {
          "type": "uint32",
          "id": 24
        },
        "news_post_gid": {
          "type": "fixed64",
          "id": 25
        },
        "rtime_mod_reviewed": {
          "type": "uint32",
          "id": 26
        },
        "featured_app_tagid": {
          "type": "uint32",
          "id": 27
        },
        "referenced_appids": {
          "rule": "repeated",
          "type": "uint32",
          "id": 28,
          "options": {
            "packed": false
          }
        },
        "build_id": {
          "type": "uint32",
          "id": 29
        },
        "build_branch": {
          "type": "string",
          "id": 30
        }
      }
    },
    "CBilling_Address": {
      "fields": {
        "first_name": {
          "type": "string",
          "id": 1
        },
        "last_name": {
          "type": "string",
          "id": 2
        },
        "address1": {
          "type": "string",
          "id": 3
        },
        "address2": {
          "type": "string",
          "id": 4
        },
        "city": {
          "type": "string",
          "id": 5
        },
        "us_state": {
          "type": "string",
          "id": 6
        },
        "country_code": {
          "type": "string",
          "id": 7
        },
        "postcode": {
          "type": "string",
          "id": 8
        },
        "zip_plus4": {
          "type": "int32",
          "id": 9
        },
        "phone": {
          "type": "string",
          "id": 10
        }
      }
    },
    "CPackageReservationStatus": {
      "fields": {
        "packageid": {
          "type": "uint32",
          "id": 1
        },
        "reservation_state": {
          "type": "int32",
          "id": 2
        },
        "queue_position": {
          "type": "int32",
          "id": 3
        },
        "total_queue_size": {
          "type": "int32",
          "id": 4
        },
        "reservation_country_code": {
          "type": "string",
          "id": 5
        },
        "expired": {
          "type": "bool",
          "id": 6
        },
        "time_expires": {
          "type": "uint32",
          "id": 7
        },
        "time_reserved": {
          "type": "uint32",
          "id": 8
        }
      }
    },
    "CMsgKeyValuePair": {
      "fields": {
        "name": {
          "type": "string",
          "id": 1
        },
        "value": {
          "type": "string",
          "id": 2
        }
      }
    },
    "CMsgKeyValueSet": {
      "fields": {
        "pairs": {
          "rule": "repeated",
          "type": ".CMsgKeyValuePair",
          "id": 1
        }
      }
    },
    "google": {
      "nested": {
        "protobuf": {
          "nested": {
            "FileDescriptorSet": {
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "FileDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "public_dependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10,
                  "options": {
                    "packed": false
                  }
                },
                "weak_dependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11,
                  "options": {
                    "packed": false
                  }
                },
                "message_type": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enum_type": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "source_code_info": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                }
              }
            },
            "DescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nested_type": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enum_type": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extension_range": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneof_decl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reserved_range": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reserved_name": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "FieldDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "type_name": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "default_value": {
                  "type": "string",
                  "id": 7
                },
                "oneof_index": {
                  "type": "int32",
                  "id": 9
                },
                "json_name": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REQUIRED": 2,
                    "LABEL_REPEATED": 3
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                }
              }
            },
            "EnumValueDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "input_type": {
                  "type": "string",
                  "id": 2
                },
                "output_type": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "client_streaming": {
                  "type": "bool",
                  "id": 5
                },
                "server_streaming": {
                  "type": "bool",
                  "id": 6
                }
              }
            },
            "FileOptions": {
              "fields": {
                "java_package": {
                  "type": "string",
                  "id": 1
                },
                "java_outer_classname": {
                  "type": "string",
                  "id": 8
                },
                "java_multiple_files": {
                  "type": "bool",
                  "id": 10
                },
                "java_generate_equals_and_hash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "java_string_check_utf8": {
                  "type": "bool",
                  "id": 27
                },
                "optimize_for": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "go_package": {
                  "type": "string",
                  "id": 11
                },
                "cc_generic_services": {
                  "type": "bool",
                  "id": 16
                },
                "java_generic_services": {
                  "type": "bool",
                  "id": 17
                },
                "py_generic_services": {
                  "type": "bool",
                  "id": 18
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23
                },
                "cc_enable_arenas": {
                  "type": "bool",
                  "id": 31
                },
                "objc_class_prefix": {
                  "type": "string",
                  "id": 36
                },
                "csharp_namespace": {
                  "type": "string",
                  "id": 37
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "fields": {
                "message_set_wire_format": {
                  "type": "bool",
                  "id": 1
                },
                "no_standard_descriptor_accessor": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3
                },
                "map_entry": {
                  "type": "bool",
                  "id": 7
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  8,
                  8
                ]
              ]
            },
            "FieldOptions": {
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3
                },
                "weak": {
                  "type": "bool",
                  "id": 10
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                }
              }
            },
            "OneofOptions": {
              "fields": {
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "fields": {
                "allow_alias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumValueOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33
                },
                "uninterpreted_option": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "UninterpretedOption": {
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifier_value": {
                  "type": "string",
                  "id": 3
                },
                "positive_int_value": {
                  "type": "uint64",
                  "id": 4
                },
                "negative_int_value": {
                  "type": "int64",
                  "id": 5
                },
                "double_value": {
                  "type": "double",
                  "id": 6
                },
                "string_value": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregate_value": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "name_part": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "is_extension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "SourceCodeInfo": {
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2
                    },
                    "leading_comments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailing_comments": {
                      "type": "string",
                      "id": 4
                    },
                    "leading_detached_comments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "source_file": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "description": {
      "type": "string",
      "id": 50000,
      "extend": ".google.protobuf.FieldOptions"
    },
    "service_description": {
      "type": "string",
      "id": 50000,
      "extend": ".google.protobuf.ServiceOptions"
    },
    "service_execution_site": {
      "type": ".EProtoExecutionSite",
      "id": 50008,
      "extend": ".google.protobuf.ServiceOptions",
      "options": {
        "default": "k_EProtoExecutionSiteUnknown"
      }
    },
    "method_description": {
      "type": "string",
      "id": 50000,
      "extend": ".google.protobuf.MethodOptions"
    },
    "enum_description": {
      "type": "string",
      "id": 50000,
      "extend": ".google.protobuf.EnumOptions"
    },
    "enum_value_description": {
      "type": "string",
      "id": 50000,
      "extend": ".google.protobuf.EnumValueOptions"
    },
    "EProtoExecutionSite": {
      "values": {
        "k_EProtoExecutionSiteUnknown": 0,
        "k_EProtoExecutionSiteSteamClient": 2
      }
    },
    "NoResponse": {
      "fields": {}
    }
  }
}